我制作了一个MovieClip并将其附加到下面的代码。当我测试电影并且我已经在舞台上放置了一个实例时,它工作正常。当我通过代码实例化对象并将其添加到舞台时它会消失点击它。我在flash中工作。
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
答案 0 :(得分:0)
我猜它与3d变换中心点有关 - 当你将它添加到舞台时,它们被设置为相关对象的中心。尝试在z = 0
之前设置addChild()
,初始化3d矩阵,然后查看它是否也会立即消失。
如果是这样,您可能需要查看动画片段中0点的位置,或者甚至可以在其上进行3d变换而不是常规的x,y变换。
编辑:
如果没有关于图书馆项目外观的更多信息,很难确切地知道需要做什么,但是尝试翻译与移动方式相反的三维矩阵,例如移动后的photo.transform.matrix3D.appendTranslation(-100, -300, 0);
。同时尝试将所有位置设置为0,并使Flash播放器窗口变大,以便您可以看到您的对象。这应该会给你一些正在发生的事情的暗示:)
答案 1 :(得分:0)
尝试将持续时间更改为5秒钟,以便您可以看到补间。