Actionscript 3 Actionscript:隐式强制的问题

Actionscript 3 Actionscript:隐式强制的问题,actionscript-3,flash,web-applications,actionscript,web,Actionscript 3,Flash,Web Applications,Actionscript,Web,我正在关注hemanth sharma关于starling框架的优秀教程系列。我或多或少地复制了他的代码,并对我心目中的游戏做了一些修改。代码与他在项目中使用的代码80%相同。尽管如此,我还是遇到了一个奇怪的错误:“error1067”,它抱怨所谓无关类型的“隐式强制” 我浏览了前面的问题,发现了这个问题: 我收到的错误消息基本相同,但不幸的是,解决方案不适用于我的问题。此外,我在许多有趣的不同口味中都遇到了这个错误 我有一个名为NavigationEvent的自定义事件类,它可以扩展 斯塔琳

我正在关注hemanth sharma关于starling框架的优秀教程系列。我或多或少地复制了他的代码,并对我心目中的游戏做了一些修改。代码与他在项目中使用的代码80%相同。尽管如此,我还是遇到了一个奇怪的错误:“error1067”,它抱怨所谓无关类型的“隐式强制”

我浏览了前面的问题,发现了这个问题:

我收到的错误消息基本相同,但不幸的是,解决方案不适用于我的问题。此外,我在许多有趣的不同口味中都遇到了这个错误

  • 我有一个名为NavigationEvent的自定义事件类,它可以扩展 斯塔琳,事件,事件。当使用的尝试在 游戏屏幕此事件已发送。下面是一些代码:

    import starling.events.Event;
    
    public class NavigationEvent extends Event
    
    它是这样发送的:

    this.dispatchEvent(new NavigationEvent(NavigationEvent.CHANGE_SCREEN,{id:"play"},true));
    
    错误消息显示:

    错误1067:将events:NavigationEvent类型的值隐式强制为不相关的starling类型。事件:Event

    我第一次编写代码时,代码运行良好,但现在,在我 更改了程序的另一部分,但它已损坏。我无法解释 信息技术我从starling.events.Event扩展了NavigationEvent,因此 类型绝对不是无关的。我甚至像这样运行程序 这诚然,在屏幕之间切换的例行程序还不成熟 已实施,但事件已顺利启动

  • 为了让用户触发这个事件,我在 屏幕。是椋鸟标准
    starling.display.Button。这个
    button是我的screen类的成员变量

    private var playBtn:Button;
    
    但是,此行会导致错误:

    playBtn=new Button(Assets.getAtlas().getTexture("play"));
    
    这一次,错误更加离谱:

    错误1067:对starling类型的值进行隐式强制。纹理:纹理为不相关的类型 八哥。纹理:纹理


  • 对此我能做些什么?

    有时,当您在Flash Builder中打开了两个Flash Pro项目,并且两个项目在代码路径中都有相同的目录时,您可能会遇到错误。当在其中一个项目中打开文件,但同时编译和运行两个项目时(特别是在调试和设置断点时),会发生这种情况

    我认为发生的事情是FB在同一个文件中编译,就像它是一个不同的文件一样,因为它从文件打开的地方“延伸”到文件被引用但没有打开的地方。打开的文件扩展其项目中的基类,而不是其中包含fla/xfl的项目中的基类。虽然我们知道它实际上是一个文件,但FB显然无法理解。我认为你的行动很轻松,因为我过去曾采取过非常英勇的措施来解决这个问题


    您可以通过将共享代码移出到库项目中来解决这个问题,我认为这是工程师们可能认为每个人都会做的情况。我认为他们无法(或至少没有)预见到历史上Flash开发实践的交叉点以及与FB和FP一起工作的怪癖会导致这个特定的bug出现。

    您是否将一个swf加载到另一个swf中?+1以清楚地描述问题并显示以前的研究。@Amy Blankenship,不,这是一个独立的项目好的,所以我将把dispatchEvent代码分成两行,跟踪并设置断点。另外,您是否正在使用FlashBuilder处理此问题,是否有可能同时打开两个引用相同代码的项目?我正在使用FlashBuilder,刚刚关闭了所有其他项目。现在一切正常。错误消失了。我不知道这怎么可能。它来去随意。我无法想象其他项目会如何影响这一点,因为它们使用相同的代码进行导航,但位于不同目录中的不同文件中。你的建议听起来很神奇,但它奏效了。你可能想给我一个答案——我很乐意接受并投票表决。如果可能的话,我希望能有更详细的解释,并且很高兴能有一个链接来阅读这个主题