使用 addChild() 时,MovieClip 没有播放动画
Posted
技术标签:
【中文标题】使用 addChild() 时,MovieClip 没有播放动画【英文标题】:MovieClip did not play animation when using addChild() 【发布时间】:2013-03-29 09:42:58 【问题描述】:我正在尝试制作一个简单的 Flash 游戏。
我一直在搜索这个问题,但找不到任何对我有帮助的问题/答案,所以这里是:
我正在尝试使用addChild()
来生成口袋妖怪影片剪辑
var comPkm:MovieClip = new bulbasaur;
comPkm.x = 620;
comPkm.y = 270;
comPkm.height = 80;
comPkm.width = 77;
addChild(comPkm);
comPkm.gotoAndPlay("idle");
问题是:口袋妖怪的“空闲”姿势根本不玩。 但是,如果我将口袋妖怪直接放到时间线上,它会起作用。 知道什么是错的,解决方案是什么?谢谢:)
【问题讨论】:
comPkm.gotoAndPlay("idle");这是文档的类名,还是在时间上是 idel 还是在时间轴主舞台上的影片剪辑中处于空闲状态 comPkm = 实例名称; “idle”是第 1 帧的标签。在第 1 帧内,有另一个动画剪辑在移动。comPkm.gotoAndStop("idle")
?
不工作,两种都试过了。无论如何谢谢:-)
【参考方案1】:
很遗憾,设置 MovieClip 的某些属性会导致该剪辑不播放动画。设置 x、y、高度或宽度会中断时间线动画。没有任何消息的无声失败让我困惑了好几次。一种解决方法是创建父占位符并让 ActionScript 修改父或子。示例:
comPkm.parent.x = 620;
comPkm.parent.y = 270;
comPkm.parent.height = 80;
comPkm.parent.width = 77;
相关:Scaling onstage MovieClip w/ "scaleX" breaks timeline animation ...really?
如果修改包含补间动画的 MovieClip 对象的以下任何属性,则播放头将在该 MovieClip 对象中停止:alpha、blendMode、filters、height、opaqueBackground、rotation、scaleX、scaleY、scale9Grid、scrollRect、变换、可见、宽度、x 或 y。但是,它不会停止该 MovieClip 对象的任何子 MovieClip 对象中的播放头。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html
根据我的经验,播放头永久损坏,忽略未来对 gotoAndPlay 的调用。
【讨论】:
以上是关于使用 addChild() 时,MovieClip 没有播放动画的主要内容,如果未能解决你的问题,请参考以下文章