【发布时间】:2012-10-24 02:14:28
【问题描述】:
我正在关注 hemanth sharma 的关于八哥框架的优秀教程系列。我或多或少地复制了他的代码,并对我想到的游戏进行了一些更改。代码与他在项目中使用的代码有 80% 相同。尽管如此,我遇到了一个奇怪的错误:“错误 1067”它抱怨所谓的不相关类型的“隐式强制”。
我浏览了以前的问题,发现了这个:
1067: Implicit coercion of a value of type Class to an unrelated type flash.display:DisplayObject
我收到的错误消息基本相同,但不幸的是,该解决方案不适用于我的问题。此外,我在许多有趣的不同风格中都遇到了这个错误。
-
我有一个名为 NavigationEvent 的自定义事件类,它可以扩展 椋鸟.events.Event。当使用过的人试图在 发送此事件的游戏屏幕。这是一些代码:
import starling.events.Event; public class NavigationEvent extends Event它是这样发送的:
this.dispatchEvent(new NavigationEvent(NavigationEvent.CHANGE_SCREEN,{id:"play"},true));错误信息说:
错误 1067:将 events:NavigationEvent 类型的值隐式强制转换为不相关的类型 starling.events:Event
代码在我第一次编写时运行良好,但现在,在我写完之后 更改了程序的另一部分,它被破坏了。我无法解释 它。我从 starling.events.Event 扩展 NavigationEvent 所以 类型绝对不是无关的。我什至像这样运行程序 这。诚然,在屏幕之间切换的例程还没有 已实现,但触发事件没有问题。
-
为了让用户触发这个事件,我在 屏幕。是八哥标准
starling.display.Button;。这 button 是我的屏幕类的成员变量private var playBtn:Button;但是这行会导致错误:
playBtn=new Button(Assets.getAtlas().getTexture("play"));这次的错误更离谱:
错误 1067:将starling.textures:Texture 类型的值隐式强制转换为不相关的类型 starling.textures:纹理
我该怎么办?
【问题讨论】:
-
您是否正在将一个 swf 加载到另一个中?
-
+1 可以清楚地描述问题并显示以前的研究。
-
@Amy Blankenship,没有。这是一个独立的项目
-
好的,所以我会将您的 dispatchEvent 代码分成两行并跟踪和设置断点。此外,您是否在 Flash Builder 中处理此问题,您是否有可能同时打开两个引用相同代码的项目?
-
我在 FlashBuilder 工作,刚刚关闭了所有其他项目。现在一切正常。错误就消失了。我不知道这怎么可能。它来来去去随意。我无法想象其他项目会如何影响这一点,因为它们使用相同的代码进行导航,但在不同目录中的不同文件中。你的建议听起来很神奇,但它奏效了。你可能想把它作为一个答案——我很乐意接受并支持它。如果可能的话,我会很感激更详细的解释,并很高兴有一个链接来阅读这个主题
标签: actionscript-3 flash web-applications actionscript web