Экземпляр исчезает при анимации - PullRequest
0 голосов
/ 24 октября 2011

Я сделал MovieClip и прикрепил его к приведенному ниже коду. Когда я тестирую фильм и уже поместил экземпляр на сцену, он работает нормально. Когда я создаю экземпляр объекта с помощью кода и добавляю его на сцену, он исчезает, когда я щелкните по нему. Я работаю во вспышке.

package {

import flash.display.MovieClip;
import flash.events.MouseEvent;
import fl.transitions.easing.*;

import com.greensock.*; 

public class Card6 extends MovieClip {

    public function Card6( )        {
        addEventListener(MouseEvent.CLICK, Enter);
    }
    private function Enter( ev : MouseEvent ) {
        TweenMax.to(this, 0.25,  { rotationY: 180 }  );
    }
  }
}

Это код, в котором я создаю MovieClip из библиотеки, Card6 является базовым классом.

var photo: MovieClip = new PhotoB( );
photo.x = 100;
photo.y = 300;
stage.addChild(photo);

ОБНОВЛЕНИЕ: Мне удается заставить его работать, я не знаю как, поскольку я немного не изменил код. Проблема в том, что я не знаю, каково решение, и я сталкиваюсь с той же проблемой в других примерах. Это код, который я использовал в первом кадре и работал.

var sp : DisplayObject = new border( ); //<-- Different name,same Object
addChild(sp);
sp.x = 400;
sp.y = 300;

И это код, который я использовал для основного класса

package {

import flash.display.MovieClip;

public class DocumentH extends MovieClip {

    public function DocumentH( )    {
    var sp : MovieClip = new border( );
    addChild(sp);
    sp.x = 400;
    sp.y = 300;
    }
  }
}

Я не могу сказать, что сделало разницу и сработало. Я пытаюсь сделать то же самое в другом fla и потерпел неудачу. В библиотеке у меня есть только один квадрат, который преобразовал его в MovieClip. (Вот ссылка с FLA http://www65.zippyshare.com/v/65975812/file.html). Я использую Flash CS4 Pro

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Попробуйте изменить длительность примерно на 5 секунд, чтобы вы могли видеть, как она меняется.

0 голосов
/ 24 октября 2011

Я думаю, это как-то связано с центральной точкой трехмерного преобразования - когда вы добавляете ее на сцену, они устанавливаются в центр рассматриваемого объекта.Попробуйте установить z = 0 перед тем, как выполнить addChild(), чтобы инициализировать 3d-матрицу, и посмотрите, исчезнет ли она мгновенно, а затем.

Если это произойдет, вам может понадобиться посмотреть, где 0-точка вмувиклип, или, может быть, даже делает 3D-преобразования на нем вместо обычных х, у.

РЕДАКТИРОВАТЬ: трудно точно определить, что нужно сделать без дополнительной информации о том, как выглядит ваш элемент библиотеки, нопопробуйте перевести 3-ю матрицу напротив того, как вы ее перемещаете, например photo.transform.matrix3D.appendTranslation(-100, -300, 0); после вашего движения.Также попробуйте установить все свои позиции на 0 и увеличьте окно флеш-плеера, чтобы вы могли видеть свой объект.Это должно дать вам некоторое представление о том, что происходит:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...