0

我正在尝试制作一个简单的 Flash 游戏。

我一直在寻找这个问题,但我找不到任何对我有帮助的问题/答案,所以这里是:

我正在尝试用来addChild()生成口袋妖怪 Movieclips

    var comPkm:MovieClip = new bulbasaur;
    comPkm.x = 620;
    comPkm.y = 270;
    comPkm.height = 80;
    comPkm.width = 77;
    addChild(comPkm);
    comPkm.gotoAndPlay("idle");

问题是:口袋妖怪的“空闲”姿势根本不玩。
但是,如果我将口袋妖怪直接放到时间线上,它会起作用。知道什么是错的,解决方案是什么?谢谢 :)

4

1 回答 1

0

不幸的是,设置 MovieClip 的某些属性会导致该剪辑不播放动画。设置 x、y、高度或宽度会中断时间线动画。没有任何消息的无声失败让我困惑了好几次。一种解决方法是创建父占位符并让 ActionScript 修改父或子。例子:

comPkm.parent.x = 620;
comPkm.parent.y = 270;
comPkm.parent.height = 80;
comPkm.parent.width = 77;

相关: 使用“scaleX”缩放舞台上的 MovieClip 会破坏时间线动画……真的吗?

如果修改包含补间动画的 MovieClip 对象的以下任何属性,则播放头会在该 MovieClip 对象中停止:alpha、blendMode、filters、height、opaqueBackground、rotation、scaleX、scaleY、scale9Grid、scrollRect、transform、visible 、宽度、x 或 y。但是,它不会停止该 MovieClip 对象的任何子 MovieClip 对象中的播放头。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html

以我的经验,播放头永久损坏,忽略未来对 gotoAndPlay 的调用。

于 2013-04-10T17:08:10.220 回答