1

事实:

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

问题是我能够显示、旋转和移动 Ship 对象。但是,我无法将指针更改为时间线中我想要的位置;简而言之:我无法从 gotoAndStop(n) 获得成功的响应。它只是行不通。

提前致谢。

我已经尝试过:

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

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

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

4

5 回答 5

2

``select'' 没有坏掉

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

- 务实的程序员

在 Ship.as 中取消注释第 93-101 行

在 Ship.as 中注释掉第 121 行

于 2009-09-29T15:58:02.443 回答
0

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

于 2009-09-29T03:23:14.817 回答
0

我以前在扩展时遇到过麻烦,并且几乎总是尽可能地使用合成。我这样解决了这个问题:

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

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

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

希望有帮助!

于 2009-09-30T15:45:04.577 回答
0

尝试添加

导入 flash.utils.*;

高温高压

于 2009-09-29T02:21:56.880 回答
0

那很奇怪。我会尝试将这艘船投射为电影剪辑 -

MovieClip(myShipVar).gotoAndStop(1)

我在这些方面经历了奇怪的行为,其中 MovieClip 方法根本不适用于扩展 MovieClip 扩展的东西 - 但我无法告诉你为什么。如果你将它作为一个 MovieClip 只是为了那个应该允许它工作的方法调用 - 但我会密切关注这个线程,看看是否有人对此有更多了解。

于 2009-09-29T04:18:17.440 回答