Определение координат точки пивоты любого объекта относительно сцены — различия между версиями
Sadovoy (обсуждение | вклад) |
Sadovoy (обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
3) Задаём машине get_located_interface параметр машине '''go_state''' - состояние в которое эта машина переведёт машину 2located_interface_position. | 3) Задаём машине get_located_interface параметр машине '''go_state''' - состояние в которое эта машина переведёт машину 2located_interface_position. | ||
− | [[Файл:2located.jpg| | + | [[Файл:2located.jpg|centre|1000px]] |
= Машинка иттератор get_located_interface= | = Машинка иттератор get_located_interface= | ||
Строка 22: | Строка 22: | ||
5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state). | 5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state). | ||
− | [[Файл:Get locate.jpg| | + | [[Файл:Get locate.jpg|centre|800px]] |
[[Category:Learning]] | [[Category:Learning]] |
Версия 11:12, 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.
Машинка иттератор get_located_interface
Думаю и так всё ясно: 1) задаём нашей машинке 2located_interface_position координаты относительно родителя 0,0; 2) меняем машинке родителя на сцену; 3) вычитываем координаты относительно сцены; 4) записываем в машинку 2located_interface_position полученные координаты; 5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state).