изменение свойств фрагмента ролика останавливает анимацию - PullRequest
2 голосов
/ 14 января 2011

Я создал мувиклип1: голова, второй мувиклип: тело

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

И я создаю простую движущуюся анимацию: прекрасно работает!

alt text

затем я связал класс с головой: Head.as

package  {

 import flash.display.MovieClip;


 public class Head extends MovieClip {


  public function Head() {
   trace("here");
   //this.alpha = 1;
  }
 }

}

Я вижу вывод трассировки: Отлично!

Когда я раскомментирую трассировку this.alpha = 1, АНИМАЦИЯ ОСТАНОВИТСЯ.

Почему это происходит и как это можно исправить?

Ответы [ 2 ]

2 голосов
/ 14 января 2011

Вы не можете изменить свойства анимированного объекта временной шкалы. Наиболее распространенным решением является следующее.

Гнездо головы и тела внутри собственных контейнеров. Так, например, у вас может быть

- head
  - head_content
- body
  - body_content

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

head.head_content.alpha = .5;

Делая это таким образом, вы все равно сможете анимировать свои мувиклипы / спрайты через временную шкалу и изменять их свойства с помощью ActionScript.

Вот пример:
http://d.pr/O5N8


Чтобы дополнительно объяснить , почему вы не можете сделать это ... подумайте о другом свойстве, кроме альфа, например, о позиционных свойствах, таких как x, y. Что вы ожидаете от своей анимации времени, если вы поставите

this.x = 100;
this.y = -10; 

в вашем конструкторе? Желаете ли вы, чтобы назначение на основе кода имело приоритет, или вы хотите, чтобы размещение по временной шкале работало? Это может показаться менее очевидным в вашем примере, где вы просто изменяете альфу, но альфа также является изменяемым свойством временной шкалы, поэтому, если вы в своей анимации меняете альфу, как вы ожидаете, что Flash будет вести себя?

0 голосов
/ 14 января 2011

Это работает в моей системе.У тебя должно быть что-то еще не так.Проверьте хорошо.

...