Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перенос графики клипа в локальный центра в клипах с кадрами анимации (http://www.flasher.ru/forum/showthread.php?t=172689)

Alexmody 15.12.2011 10:12

Перенос графики клипа в локальный центра в клипах с кадрами анимации
 
В Flash IDEв экспортируемая графика в клипах находится в положении 0,0 т.е. как обычно.
В самой игре для смещения локального центра я переношу весь контент в центра, чтобы можно было нормально вращать клип:
Код AS3:

for (var i:int = 0; i < visual.numChildren; i++) 
{
      item:DisplayObject = visual.getChildAt(i);
      item.x = -item.width / 2;
      item.y = -item.height / 2;
}

Все бы хорошо, но вот если в клипе есть анимация, то как в каждом кадре мне сместить локальный цент другим или вышеуказанным способом, ведь каждый раз при переходе на новый кадр, контент создается заново и нельзя сохранить изменения в томи или ином кадре?

goodguy 15.12.2011 10:15

Вызывать этот код по энтерфрейму

п.с. В этом коде не все нормально. Тут два раза изменяется значение "x", хотя должно быть "y" во втором случае

Alexmody 15.12.2011 11:10

Т.е. каждый раз при переходе в последующий кадр анимации клипа, делать вышеуказанную процедуру в энтерфрейме, больше вариантов ни каких нет? Это было бы неплохо, если пройтись по фреймам при инициализации один раз, но в каждом энтерфрейме...

Aquahawk 15.12.2011 13:07

создать спрайт контейнер и положить клип в него по отрицательным координатам.

Alexmody 15.12.2011 13:18

Цитата:

Сообщение от Aquahawk (Сообщение 1051620)
создать спрайт контейнер и положить клип в него по отрицательным координатам.

Да я вот оже думаю, попробовал через ENTER_FRAME при сложных анимационных со слоями и пр. дает визуальные баги. Если изворачиваться с матрицами для точки трансформации, то с учетом физ движка, координаты физ объекта и клипа надо пост подстраивать. Сейчас склоняюсь к контейнеру, как вы описали, жаль что в таком случае с графикой внутри контейнера не удобно работать, хотя этот способ помогает избежать кучу подводных камней с анимацией, корректным многоразовым поворотом и физикой.

goodguy 15.12.2011 16:23

Корректнее - сразу делать нормальную графику, а не извращаться потом пытаясь что-то куда-то переставить


Часовой пояс GMT +4, время: 15:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.