<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://man.deeptown.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://man.deeptown.org/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9</id>
		<title>Механизмы взаимодействия объектов с окружающей средой - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://man.deeptown.org/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9"/>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;action=history"/>
		<updated>2026-05-01T20:30:16Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=804&amp;oldid=prev</id>
		<title>Korvin: /* Взаимодействие объекта с окружающей средой */</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=804&amp;oldid=prev"/>
				<updated>2008-11-02T05:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Взаимодействие объекта с окружающей средой&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 05:31, 2 ноября 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с окружающей средой ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с окружающей средой ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;взаимодейтсивя &lt;/del&gt;объектов с окружающей средой существуют специальные средства. Подобно реальным живым организмам, у объектов существует некоторый аналог органов чувств, а так же функциональные элементы, выполняющие роль двигателей или мышц. В качестве органов &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;чувтсв &lt;/del&gt;применяются ''сенсоры'' — специальные сущности, позволяющие объекту получать информацию об окружающем его мире; для &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;соверщения &lt;/del&gt;различных действий и перемещения, объекты используют т.н. ''моторы''. Таким образом, существование объекта в виртуальном пространстве копирует модели поведения реальных живых существ: оценивая изменения &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;обстрановки &lt;/del&gt;окружающей действительности с помощью органов чувств, и те и другие, каким либо образом реагируют на это изменение.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;взаимодействия &lt;/ins&gt;объектов с окружающей средой существуют специальные средства. Подобно реальным живым организмам, у объектов существует некоторый аналог органов чувств, а так же функциональные элементы, выполняющие роль двигателей или мышц. В качестве органов &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;чувств &lt;/ins&gt;применяются ''сенсоры'' — специальные сущности, позволяющие объекту получать информацию об окружающем его мире; для &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;совершения &lt;/ins&gt;различных действий и перемещения, объекты используют т.н. ''моторы''. Таким образом, существование объекта в виртуальном пространстве копирует модели поведения реальных живых существ: оценивая изменения &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;обстановки &lt;/ins&gt;окружающей действительности с помощью органов чувств, и те и другие, каким либо образом реагируют на это изменение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Список моторов объекта строго задан в его файле данных и не может быть динамически изменен. Фактически, моторы определяют возможное поведение объекта в пространстве. Например, у объекта &amp;quot;ракета&amp;quot; есть мотор — &amp;quot;двигатель&amp;quot;, который позволяет ракете взмывать над землей. Объект может управлять своими моторами, включая и выключая их, а также устанавливая некоторые параметры, зависящие от конкретных типов моторов.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Список моторов объекта строго задан в его файле данных и не может быть динамически изменен. Фактически, моторы определяют возможное поведение объекта в пространстве. Например, у объекта &amp;quot;ракета&amp;quot; есть мотор — &amp;quot;двигатель&amp;quot;, который позволяет ракете взмывать над землей. Объект может управлять своими моторами, включая и выключая их, а также устанавливая некоторые параметры, зависящие от конкретных типов моторов.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=803&amp;oldid=prev</id>
		<title>Korvin: /* Взаимодействие объектов друг с другом. События */</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=803&amp;oldid=prev"/>
				<updated>2008-11-02T05:25:38Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Взаимодействие объектов друг с другом. События&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 05:25, 2 ноября 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Событие'' — это некоторая информационная сущность, сигнализирующая о действии, производимом объектом (или с объектом). Она может передаваться от объекта как непосредственно другому объекту, так и группе объектов, удовлетворяющих некоторому условию.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Событие'' — это некоторая информационная сущность, сигнализирующая о действии, производимом объектом (или с объектом). Она может передаваться от объекта как непосредственно другому объекту, так и группе объектов, удовлетворяющих некоторому условию.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Например, когда аватар пользователя нажимает на кнопку, объект-аватар передает объекту-кнопке событие со смыслом &amp;quot;я тебя нажал&amp;quot;. Объект-кнопка получает уведомление о приходе события, и может выполнить в этот &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;момет &lt;/del&gt;какие-либо действия.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Например, когда аватар пользователя нажимает на кнопку, объект-аватар передает объекту-кнопке событие со смыслом &amp;quot;я тебя нажал&amp;quot;. Объект-кнопка получает уведомление о приходе события, и может выполнить в этот &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;момент &lt;/ins&gt;какие-либо действия.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пример события группе объектов: выключатель, который включает несколько ламп в помещении, может передать им событие &amp;quot;включиться&amp;quot; с условием &amp;quot;тип объекта — лампа&amp;quot;. Такой подход имеет очевидные преимущества перед непосредственной передачей события каждой лампе в отдельности: например, если в помещение добавить еще одну лампу, то код выключателя не придется модифицировать.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пример события группе объектов: выключатель, который включает несколько ламп в помещении, может передать им событие &amp;quot;включиться&amp;quot; с условием &amp;quot;тип объекта — лампа&amp;quot;. Такой подход имеет очевидные преимущества перед непосредственной передачей события каждой лампе в отдельности: например, если в помещение добавить еще одну лампу, то код выключателя не придется модифицировать.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=413&amp;oldid=prev</id>
		<title>89.218.11.53 в 09:27, 7 декабря 2007</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=413&amp;oldid=prev"/>
				<updated>2007-12-07T09:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 09:27, 7 декабря 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Рассмотрим эти взаимодействия подробнее.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Рассмотрим эти взаимодействия подробнее.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Взаимодействия &lt;/del&gt;объектов друг с другом. События ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Взаимодействие &lt;/ins&gt;объектов друг с другом. События ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Между собой объекты &amp;quot;общаются&amp;quot; посредством событий.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Между собой объекты &amp;quot;общаются&amp;quot; посредством событий.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Событие &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;это некоторая информационная сущность, сигнализирующая о действии, производимом объектом. Она может передаваться от объекта как непосредственно другому объекту, так и группе объектов, удовлетворяющих некоторому условию.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;Событие&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' — &lt;/ins&gt;это некоторая информационная сущность, сигнализирующая о действии, производимом объектом &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(или с объектом)&lt;/ins&gt;. Она может передаваться от объекта как непосредственно другому объекту, так и группе объектов, удовлетворяющих некоторому условию.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Например, когда аватар пользователя нажимает на кнопку, объект-аватар передает объекту-кнопке событие со смыслом &amp;quot;я тебя нажал&amp;quot;. Объект-кнопка получает уведомление о приходе события, и может выполнить в этот момет какие-либо действия.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Например, когда аватар пользователя нажимает на кнопку, объект-аватар передает объекту-кнопке событие со смыслом &amp;quot;я тебя нажал&amp;quot;. Объект-кнопка получает уведомление о приходе события, и может выполнить в этот момет какие-либо действия.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пример события группе объектов: выключатель, который включает несколько ламп в помещении, может передать им событие &amp;quot;включиться&amp;quot; с условием &amp;quot;тип объекта &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;лампа&amp;quot;. Такой подход имеет очевидные преимущества перед непосредственной передачей события каждой лампе в отдельности: например, если добавить еще одну лампу, код выключателя не придется модифицировать.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пример события группе объектов: выключатель, который включает несколько ламп в помещении, может передать им событие &amp;quot;включиться&amp;quot; с условием &amp;quot;тип объекта &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;— &lt;/ins&gt;лампа&amp;quot;. Такой подход имеет очевидные преимущества перед непосредственной передачей события каждой лампе в отдельности: например, если &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;в помещение &lt;/ins&gt;добавить еще одну лампу, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;то &lt;/ins&gt;код выключателя не придется модифицировать.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта и физического движка ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта и физического движка ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Под этим взаимодействием понимается получение объектом уведомлений от физического движка о действиях, которые в нем происходят.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Под этим взаимодействием понимается получение объектом уведомлений от физического движка о действиях, которые в нем происходят.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На данный момент реализовано лишь одно такое действие &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;init &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;уведомляющее объект о том, что он только что был создан.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На данный момент реализовано лишь одно такое действие &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;— &lt;/ins&gt;init&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;уведомляющее объект о том, что он только что был создан.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с его пользовательским представлением ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с его пользовательским представлением ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Объекты существуют в сети Диптауна и обсчитываются на его серверах. Когда пользователь соединяется с этой сетью и входит в виртуальный мир, на его локальной машине создается копия части этого мира, которая затем синхронизуется с серверами. Под данным типом взаимодействия понимается передача информации копиям объектов на пользовательских машинах.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Объекты существуют в сети Диптауна и обсчитываются на его серверах. Когда пользователь соединяется с этой сетью и входит в виртуальный мир, на его локальной машине создается копия части этого мира, которая затем синхронизуется с серверами. Под данным типом взаимодействия понимается передача информации копиям объектов на пользовательских машинах.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для передачи такой информации служат свойства объектов. Свойства &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;это массив произвольных данных, к которому возможен доступ по имени свойства. Описание свойств объекта находится в его файле данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для передачи такой информации служат свойства объектов. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;Свойства&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' — &lt;/ins&gt;это массив произвольных данных, к которому возможен доступ по имени &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;некоторого конкретного &lt;/ins&gt;свойства. Описание свойств объекта находится в его файле данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Основное отличие пользовательских машин в том, что они отображают графическую информацию, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;тогда &lt;/del&gt;как на серверах эта информация игнорируется. Поэтому чаще всего свойства используются для управления графическим представлением. Например, при включении лампы она изменяет свойство &amp;quot;включена&amp;quot; на 1, а клиентский скрипт на это реагирует включением источника света в графическом движке.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Основное отличие пользовательских машин &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;от серверов заключается &lt;/ins&gt;в том, что они отображают графическую информацию, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;в то время &lt;/ins&gt;как на серверах эта информация игнорируется. Поэтому&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;чаще всего свойства используются для управления графическим представлением &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;объекта&lt;/ins&gt;. Например, при включении лампы она изменяет свойство &amp;quot;включена&amp;quot; на 1, а клиентский скрипт на это реагирует включением &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;соответствующего &lt;/ins&gt;источника света в графическом движке&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;; таким образом создается иллюзия того, что лампа &amp;quot;загорелась&amp;quot;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с пользователем ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с пользователем ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пользователь, соединяясь с сетью Диптауна, может управлять принадлежащими ему объектами. Имеются ввиду аватары, хотя в общем случае он может управлять любыми объектами, способными реагировать на команды управления. Механизм управления такой:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Пользователь, соединяясь с сетью Диптауна, может управлять принадлежащими ему объектами. Имеются ввиду аватары, хотя в общем случае&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;он может управлять любыми объектами, способными реагировать на команды управления. Механизм управления &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;объектами &lt;/ins&gt;такой:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* пользователь нажимает клавишу или комбинацию клавиш (варианты: двигает мышью, нажимает кнопку мыши, двигает джойстик и т.д., плюс комбинации этих действий);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* пользователь нажимает клавишу или комбинацию клавиш (варианты: двигает мышью, нажимает кнопку мыши, двигает джойстик и т.д., плюс &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;любые &lt;/ins&gt;комбинации этих действий);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* движок ввода по &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;таблице &lt;/del&gt;формирует некоторое сообщение объекту;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* движок ввода по &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;внутренним таблицам &lt;/ins&gt;формирует некоторое сообщение объекту;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* сообщение доставляется как локальной копии объекта, так и сетевой копии;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* сообщение доставляется как локальной копии объекта, так и сетевой копии;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* объект получает уведомление и предпринимает определенные действия.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* объект получает уведомление и предпринимает определенные действия.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Также управляемый пользователем объект может отправлять ему некоторые уведомления &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;например, о происходящих событиях.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Также&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;управляемый пользователем объект&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;может отправлять ему &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(пользователю) &lt;/ins&gt;некоторые уведомления &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;— &lt;/ins&gt;например, о происходящих событиях.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с окружающей средой ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Взаимодействие объекта с окружающей средой ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;У объекта есть набор моторов и сенсоров&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Мотор - это сущность&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;позволяющая &lt;/del&gt;объекту &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;производить какие-то действия &lt;/del&gt;в виртуальном пространстве&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;; сенсор - сущность&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;позволяющая получать уведомления о происходящем&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Для взаимодейтсивя объектов с окружающей средой существуют специальные средства&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Подобно реальным живым организмам&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;у объектов существует некоторый аналог органов чувств, а так же функциональные элементы, выполняющие роль двигателей или мышц. В качестве органов чувтсв применяются ''сенсоры'' — специальные сущности, позволяющие &lt;/ins&gt;объекту &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;получать информацию об окружающем его мире; для соверщения различных действий и перемещения, объекты используют т.н. ''моторы''. Таким образом, существование объекта &lt;/ins&gt;в виртуальном пространстве &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;копирует модели поведения реальных живых существ: оценивая изменения обстрановки окружающей действительности с помощью органов чувств&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;и те и другие, каким либо образом реагируют на это изменение&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Список моторов объекта строго задан в его файле данных и не может быть динамически изменен. Фактически, моторы определяют возможное поведение объекта в пространстве. Например, у объекта &amp;quot;ракета&amp;quot; есть мотор &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;&amp;quot;двигатель&amp;quot;, который позволяет ракете взмывать над землей. Объект может управлять своими моторами, включая и выключая их, а также устанавливая некоторые параметры, зависящие от конкретных типов моторов.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Список моторов объекта строго задан в его файле данных и не может быть динамически изменен. Фактически, моторы определяют возможное поведение объекта в пространстве. Например, у объекта &amp;quot;ракета&amp;quot; есть мотор &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;— &lt;/ins&gt;&amp;quot;двигатель&amp;quot;, который позволяет ракете взмывать над землей. Объект может управлять своими моторами, включая и выключая их, а также устанавливая некоторые параметры, зависящие от конкретных типов моторов.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мотор задается в файле описания объекта тегом &amp;lt;motor&amp;gt; в корневой секции, например:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мотор задается в файле описания объекта тегом &amp;lt;motor&amp;gt; в корневой секции, например:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 63:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Как видим, мотор задается именем, по которому к нему потом можно будет обращаться, и URL&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-ом&lt;/del&gt;, в котором указывается тип мотора и его параметры. В примере, тип мотора &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;linear_speed &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;позволяет объекту управлять силой по какой-либо оси для достижения определенной скорости в абсолютных координатах. Для него в качестве параметра передается имя твердого тела, к которому будет приложена сила, и вектор направления (в локальных координатах объекта) этой силы.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Как &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;мы &lt;/ins&gt;видим, мотор задается именем, по которому к нему потом можно будет обращаться, и URL &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;адресом&lt;/ins&gt;, в котором указывается тип мотора и его параметры. В &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;приведенном выше &lt;/ins&gt;примере, тип мотора &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;— &amp;lt;tt&amp;gt;&lt;/ins&gt;linear_speed&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/tt&amp;gt; — &lt;/ins&gt;позволяет объекту управлять силой по какой-либо оси для достижения определенной скорости в абсолютных координатах. Для него в качестве параметра передается имя твердого тела, к которому будет приложена сила, и вектор направления (в локальных координатах объекта) этой силы.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На данный момент это единственный реализованный мотор. В недалеком будущем их будет больше.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На данный момент это единственный реализованный мотор. В недалеком будущем их будет больше.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Сенсор дожидается выполнения какого-либо условия и отправляет объекту уведомление об этом. На данный момент реализован сенсор &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;высоты&lt;/del&gt;, который высылает уведомление, когда объект достигает определенной высоты. В отличие от моторов, сенсоры полностью динамичны: объект может их создавать и удалять в процессе своего существования. В файле описания объектов сенсоры не указываются.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Сенсор дожидается выполнения какого-либо условия и отправляет объекту уведомление об этом. На данный момент реализован сенсор &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;чем то напоминающий авиационные альтиметры&lt;/ins&gt;, который высылает уведомление, когда объект достигает определенной высоты. В отличие от моторов, сенсоры полностью динамичны: объект может их создавать и удалять в процессе своего существования. В файле описания объектов сенсоры не указываются.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>89.218.11.53</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=409&amp;oldid=prev</id>
		<title>Root: Новая: Объекты виртуального пространства могут взаимодействовать следующим образом: * друг с другом ** перед...</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D1%8B_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%80%D0%B5%D0%B4%D0%BE%D0%B9&amp;diff=409&amp;oldid=prev"/>
				<updated>2007-12-06T19:16:51Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: Объекты виртуального пространства могут взаимодействовать следующим образом: * друг с другом ** перед...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Объекты виртуального пространства могут взаимодействовать следующим образом:&lt;br /&gt;
* друг с другом&lt;br /&gt;
** передавая и получая события;&lt;br /&gt;
* с физическим движком&lt;br /&gt;
** получая от него уведомления о статусе;&lt;br /&gt;
* с пользовательским представлением объекта&lt;br /&gt;
** изменяя динамические свойства;&lt;br /&gt;
* с пользователем&lt;br /&gt;
** получая от него команды ввода;&lt;br /&gt;
** высылая ему уведомления;&lt;br /&gt;
* с окружающей средой&lt;br /&gt;
** управляя моторами;&lt;br /&gt;
** получая уведомления от сенсоров.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим эти взаимодействия подробнее.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействия объектов друг с другом. События ==&lt;br /&gt;
&lt;br /&gt;
Между собой объекты &amp;quot;общаются&amp;quot; посредством событий.&lt;br /&gt;
&lt;br /&gt;
Событие - это некоторая информационная сущность, сигнализирующая о действии, производимом объектом. Она может передаваться от объекта как непосредственно другому объекту, так и группе объектов, удовлетворяющих некоторому условию.&lt;br /&gt;
&lt;br /&gt;
Например, когда аватар пользователя нажимает на кнопку, объект-аватар передает объекту-кнопке событие со смыслом &amp;quot;я тебя нажал&amp;quot;. Объект-кнопка получает уведомление о приходе события, и может выполнить в этот момет какие-либо действия.&lt;br /&gt;
&lt;br /&gt;
Пример события группе объектов: выключатель, который включает несколько ламп в помещении, может передать им событие &amp;quot;включиться&amp;quot; с условием &amp;quot;тип объекта - лампа&amp;quot;. Такой подход имеет очевидные преимущества перед непосредственной передачей события каждой лампе в отдельности: например, если добавить еще одну лампу, код выключателя не придется модифицировать.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействие объекта и физического движка ==&lt;br /&gt;
&lt;br /&gt;
Под этим взаимодействием понимается получение объектом уведомлений от физического движка о действиях, которые в нем происходят.&lt;br /&gt;
&lt;br /&gt;
На данный момент реализовано лишь одно такое действие - init - уведомляющее объект о том, что он только что был создан.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействие объекта с его пользовательским представлением ==&lt;br /&gt;
&lt;br /&gt;
Объекты существуют в сети Диптауна и обсчитываются на его серверах. Когда пользователь соединяется с этой сетью и входит в виртуальный мир, на его локальной машине создается копия части этого мира, которая затем синхронизуется с серверами. Под данным типом взаимодействия понимается передача информации копиям объектов на пользовательских машинах.&lt;br /&gt;
&lt;br /&gt;
Для передачи такой информации служат свойства объектов. Свойства - это массив произвольных данных, к которому возможен доступ по имени свойства. Описание свойств объекта находится в его файле данных.&lt;br /&gt;
&lt;br /&gt;
Основное отличие пользовательских машин в том, что они отображают графическую информацию, тогда как на серверах эта информация игнорируется. Поэтому чаще всего свойства используются для управления графическим представлением. Например, при включении лампы она изменяет свойство &amp;quot;включена&amp;quot; на 1, а клиентский скрипт на это реагирует включением источника света в графическом движке.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействие объекта с пользователем ==&lt;br /&gt;
&lt;br /&gt;
Пользователь, соединяясь с сетью Диптауна, может управлять принадлежащими ему объектами. Имеются ввиду аватары, хотя в общем случае он может управлять любыми объектами, способными реагировать на команды управления. Механизм управления такой:&lt;br /&gt;
* пользователь нажимает клавишу или комбинацию клавиш (варианты: двигает мышью, нажимает кнопку мыши, двигает джойстик и т.д., плюс комбинации этих действий);&lt;br /&gt;
* движок ввода по таблице формирует некоторое сообщение объекту;&lt;br /&gt;
* сообщение доставляется как локальной копии объекта, так и сетевой копии;&lt;br /&gt;
* объект получает уведомление и предпринимает определенные действия.&lt;br /&gt;
&lt;br /&gt;
Также управляемый пользователем объект может отправлять ему некоторые уведомления - например, о происходящих событиях.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействие объекта с окружающей средой ==&lt;br /&gt;
&lt;br /&gt;
У объекта есть набор моторов и сенсоров. Мотор - это сущность, позволяющая объекту производить какие-то действия в виртуальном пространстве; сенсор - сущность, позволяющая получать уведомления о происходящем.&lt;br /&gt;
&lt;br /&gt;
Список моторов объекта строго задан в его файле данных и не может быть динамически изменен. Фактически, моторы определяют возможное поведение объекта в пространстве. Например, у объекта &amp;quot;ракета&amp;quot; есть мотор - &amp;quot;двигатель&amp;quot;, который позволяет ракете взмывать над землей. Объект может управлять своими моторами, включая и выключая их, а также устанавливая некоторые параметры, зависящие от конкретных типов моторов.&lt;br /&gt;
&lt;br /&gt;
Мотор задается в файле описания объекта тегом &amp;lt;motor&amp;gt; в корневой секции, например:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;model bxd=&amp;quot;http://dao.deeptown.org/bxd/model.bxd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;motor name=&amp;quot;engine&amp;quot; url=&amp;quot;linear_speed:cube:(0,1,0)&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как видим, мотор задается именем, по которому к нему потом можно будет обращаться, и URL-ом, в котором указывается тип мотора и его параметры. В примере, тип мотора - linear_speed - позволяет объекту управлять силой по какой-либо оси для достижения определенной скорости в абсолютных координатах. Для него в качестве параметра передается имя твердого тела, к которому будет приложена сила, и вектор направления (в локальных координатах объекта) этой силы.&lt;br /&gt;
&lt;br /&gt;
На данный момент это единственный реализованный мотор. В недалеком будущем их будет больше.&lt;br /&gt;
&lt;br /&gt;
Сенсор дожидается выполнения какого-либо условия и отправляет объекту уведомление об этом. На данный момент реализован сенсор высоты, который высылает уведомление, когда объект достигает определенной высоты. В отличие от моторов, сенсоры полностью динамичны: объект может их создавать и удалять в процессе своего существования. В файле описания объектов сенсоры не указываются.&lt;/div&gt;</summary>
		<author><name>Root</name></author>	</entry>

	</feed>