Определение координат точки пивоты любого объекта относительно сцены — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
У любого объекта мы можем считать параметры '''''x''''' и '''''y''''', но только относительно их родителя. Если нам нужно знать координаты относительно сцены ( для полёта анимации к объекту и т.д.), то предлагаю использовать следующую схему:
+
:У любого объекта мы можем считать параметры '''''x''''' и '''''y''''', но только относительно их родителя. Если нам нужно знать координаты относительно сцены ( для полёта анимации к объекту и т.д.), то предлагаю использовать следующую схему:
  
 
Использовать две машинки: одна управляющая (2located_interface_position), вторая выполняет однотонную работу (иттерации) (get_located_interface)  
 
Использовать две машинки: одна управляющая (2located_interface_position), вторая выполняет однотонную работу (иттерации) (get_located_interface)  
  
= Управляющая машинка 2located_interface_position=
+
 
Обязательно машинке ставим память, чтобы переход выполнился один раз. Осуществляет переход паровозиком из состояния в состояние, однотонная логика перемещена в машинку get_located_interface.
+
 
 +
== Управляющая машинка 2located_interface_position==
 +
:Обязательно машинке ставим память, чтобы переход выполнился один раз. Осуществляет переход паровозиком из состояния в состояние, однотонная логика перемещена в машинку get_located_interface.
  
 
Как работает:  
 
Как работает:  
1) Меняем машинке родителя ( объект координаты которого мы хотим узнать);
+
:1) Меняем машинке родителя ( объект координаты которого мы хотим узнать);
2) Задаём машине get_located_interface параметр '''param_name''' - этот параметр машинка прочитает из себя и добавит в конец окончания '''_х''' и '''_у''': к примеру если передадим    param_name = big ; у машинки 2located_interface_position после обработки логики появятся два параметра: big_x и big_y;
+
:2) Задаём машине get_located_interface параметр '''param_name''' - этот параметр машинка прочитает из себя и добавит в конец окончания '''_х''' и '''_у''': к примеру если передадим    param_name = big ; у машинки 2located_interface_position после обработки логики появятся два параметра: big_x и big_y;
3) Задаём машине get_located_interface параметр машине '''go_state''' - состояние в которое эта машина переведёт машину 2located_interface_position.
+
:3) Задаём машине get_located_interface параметр машине '''go_state''' - состояние в которое эта машина переведёт машину 2located_interface_position.
  
 
[[Файл:2located.jpg|centre|1000px]]
 
[[Файл:2located.jpg|centre|1000px]]
  
= Машинка иттератор get_located_interface=
+
 
 +
 
 +
== Машинка иттератор get_located_interface==
  
 
Думаю и так всё ясно:
 
Думаю и так всё ясно:
1) задаём нашей машинке 2located_interface_position координаты относительно родителя 0,0;
+
:1) задаём нашей машинке 2located_interface_position координаты относительно родителя 0,0;
2) меняем машинке родителя на сцену;
+
:2) меняем машинке родителя на сцену;
3) вычитываем координаты относительно сцены;
+
:3) вычитываем координаты относительно сцены;
4) записываем в машинку 2located_interface_position полученные координаты;
+
:4) записываем в машинку 2located_interface_position полученные координаты;
5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state).
+
:5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state).
  
 
[[Файл:Get locate.jpg|centre|800px]]
 
[[Файл:Get locate.jpg|centre|800px]]
  
 
[[Category:Learning]]
 
[[Category:Learning]]

Текущая версия на 11:14, 19 декабря 2014

У любого объекта мы можем считать параметры x и y, но только относительно их родителя. Если нам нужно знать координаты относительно сцены ( для полёта анимации к объекту и т.д.), то предлагаю использовать следующую схему:

Использовать две машинки: одна управляющая (2located_interface_position), вторая выполняет однотонную работу (иттерации) (get_located_interface)


Управляющая машинка 2located_interface_position

Обязательно машинке ставим память, чтобы переход выполнился один раз. Осуществляет переход паровозиком из состояния в состояние, однотонная логика перемещена в машинку get_located_interface.

Как работает:

1) Меняем машинке родителя ( объект координаты которого мы хотим узнать);
2) Задаём машине get_located_interface параметр param_name - этот параметр машинка прочитает из себя и добавит в конец окончания и : к примеру если передадим param_name = big ; у машинки 2located_interface_position после обработки логики появятся два параметра: big_x и big_y;
3) Задаём машине get_located_interface параметр машине go_state - состояние в которое эта машина переведёт машину 2located_interface_position.
2located.jpg


Машинка иттератор get_located_interface

Думаю и так всё ясно:

1) задаём нашей машинке 2located_interface_position координаты относительно родителя 0,0;
2) меняем машинке родителя на сцену;
3) вычитываем координаты относительно сцены;
4) записываем в машинку 2located_interface_position полученные координаты;
5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state).
Get locate.jpg