AS3 Flash 顽固的简单按钮没有出现在舞台上

Posted

技术标签:

【中文标题】AS3 Flash 顽固的简单按钮没有出现在舞台上【英文标题】:AS3 Flash Stubborn Simple Button Not Appearing on Stage 【发布时间】:2013-06-05 20:23:27 【问题描述】:

我正在使用 Flash Professional CS6/AS3 制作一个简单的游戏。我想要一个后退按钮,当单击该按钮时,播放器将返回到介绍屏幕。其他一切正常,但该按钮不会显示在屏幕上,当我将它拖到屏幕上并单击它时它也不会起作用。 back_Btn 类为空,符号不包含时间线代码。

没有错误消息。我想重申,其他一切都运行良好。 这是文档类:

package 

    import com.greensock.TweenLite;
    import com.greensock.*;
    import com.greensock.easing.*;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.display.Stage;
    import flash.display.SimpleButton;

    public class Main extends MovieClip
    
        var back1:back_Btn;
        var intro:introScreen;
        var game:levelOne;
        var stageRef:Stage;
        //
        var timer:Number = 0;
        var holder:int = 0;
        var boolean:Boolean = false;
        var speed:int;
        //
        public function Main()
        

            init();
        
        function init():void
        
            stageRef = stage;
            back1 = new back_Btn();
            stageRef.addChild(back1);
            //
            game = new levelOne();
            //
            intro = new introScreen();
            stageRef.addChild(intro);
            //
            back1.x = 425;
            back1.y = 0;
            intro.x = 0;
            intro.y = 0;

            intro.lampBtn.addEventListener(MouseEvent.CLICK,startGame);
            addEventListener(Event.ENTER_FRAME,startApp);
            back1.addEventListener(MouseEvent.CLICK,exitGame);

            speed = 0;

            function startApp(evt:Event):void
            

                intro.x +=  speed;
                if ((boolean == true))
                
                    speed = 5;
                    boolean = false;
                

            
        
        function startGame(evt:Event):void
        
            game = new levelOne  ;
            stageRef.addChild(game);
            game.x = 0;
            game.y = 0;
            boolean = true;
        
        function exitGame(evt:Event):void
        
            trace("back button clicked");
            removeChild(game);
            addChild(intro);
            intro.visible = true;
        

    

当没有拖到舞台上时,按钮不会出现。拖动时,单击时不会触发跟踪语句,并且没有任何反应。很奇怪。

【问题讨论】:

如果你的 back_Btn 是空的,你看不到它,因为没有什么可看的。除了你 addChild 'game' 在 back1 的顶部。简介也在顶部。 你明白了。我认为上面的脚本已经结束,下面的脚本较低。下面是最上面的。我发誓我试过了,但那时我一定遇到了其他错误。我几乎整晚都在这。烦人的小怪癖。太感谢了。您应该发表您的评论作为答案。 【参考方案1】:

如果你的 back_Btn 是空的,你就看不到它,因为没有什么可看的。除了你 addChild 'game' 在 back1 的顶部。简介也在顶部。

【讨论】:

简而言之,请确保您的层次结构正确,并且您的按钮可以显示某些内容。即使它是 alpha 1/100。

以上是关于AS3 Flash 顽固的简单按钮没有出现在舞台上的主要内容,如果未能解决你的问题,请参考以下文章

Flash as3 将一个类中的方法调用到另一个放在舞台上的类。

flash as3.0里怎样修改元件的缩放中心点,让缩放的中心点一直在舞台中心位置?

flash AS3 如何删除舞台事件侦听器

从 AS3 文件动态添加 Flash 组件到舞台

Flash CS4 AS3 水平动画剪辑滚动鼠标移动

Flash CS3 (AS3) 为我的图形(按钮和影片剪辑)提供轮廓