Определение координат точки пивоты любого объекта относительно сцены — различия между версиями
Sadovoy (обсуждение | вклад) (Новая страница: «У любого объекта мы можем считать параметры '''''x''''' и '''''y''''', но только относительно их ро…») |
Sadovoy (обсуждение | вклад) м |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 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]] | ||
+ | |||
− | |||
− | = Машинка иттератор 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| | + | [[Файл: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.
Машинка иттератор get_located_interface
Думаю и так всё ясно:
- 1) задаём нашей машинке 2located_interface_position координаты относительно родителя 0,0;
- 2) меняем машинке родителя на сцену;
- 3) вычитываем координаты относительно сцены;
- 4) записываем в машинку 2located_interface_position полученные координаты;
- 5) переводим машинку 2located_interface_position в указанное состояние ( параметр go_state).