为什么MovieClip派生类不会gotoAndStop?

时间:2009-09-28 21:48:05

标签: flash actionscript-3 movieclip

事实:

  • 我有2个课程:实体和船舶。实体扩展了MovieClip,Ship扩展了实体。
  • 我有一个与Ship.as类文件关联的MovieClip。

问题在于我能够显示,旋转和移动Ship对象。但是,我无法在时间轴上将指针更改为我想要的位置;简而言之:我无法从gotoAndStop(n)获得成功的回复。它只是不起作用。

提前致谢。

我已经尝试过了:

  • 在类文件内外投射MovieClip。
  • 导入flash.utils。*
  • 将参数从数字更改为字符串(用于帧标签)。

它对我有用的唯一方法是直接从MovieClip派生Ship而不是从Entity派生;但这是不可取的,也是最后的手段。

您可以在此处下载源文件:http://cid-7b6cf3fa8e7f0691.skydrive.live.com/self.aspx/ActionScript%20Exercises/Asteroids.zip

5 个答案:

答案 0 :(得分:2)

  

``select''没有破碎

     

很少在操作系统或编译器中找到错误,甚至是第三方产品或库中的错误。该错误最有可能出现在应用程序中。

     

- 务实的程序员

在Ship.as中取消评论第93-101行

注释掉Ship.as中的第121行

答案 1 :(得分:0)

尝试添加

import flash.utils。*;

HTH

答案 2 :(得分:0)

您可以尝试将gotoAndStop()的参数从数字更改为字符串,或从字符串更改为数字。 (这可能需要你添加一个框架标签。)我之前遇到过一些麻烦。

答案 3 :(得分:0)

这很奇怪。我会尝试将这艘船作为MovieClip投射 -

MovieClip(myShipVar).gotoAndStop(1)

我在这些方面经历了奇怪的行为,其中MovieClip方法根本不能用于扩展MovieClip扩展的东西 - 但我无法告诉你为什么。如果你把它作为一个MovieClip强制转换为那个应该允许它工作的方法调用 - 但是我会密切关注这个帖子,看看是否有人知道更多关于这个的回应。

答案 4 :(得分:0)

我以前遇到过麻烦,而且几乎总是在我可以使用的时候使用构图。 我用这种方式解决了这个问题:

将库中的船舶影片剪辑的链接ID更改为:      类:shipAsset      基类:flash.display.MovieClip

在ship.as中,创建一个公共变量'资产',然后创建它的新实例并将其添加到Ship实例的显示列表中,如下所示:      asset = new shipAsset();      的addChild(资产);

在Main.as中,像这样控制时间轴:      ship.asset.gotoAndStop( '升压');

希望有所帮助!