Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 标签没有出现_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Actionscript 3 标签没有出现

Actionscript 3 标签没有出现,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我正在使用bare ActionScript 3.0从基本的Flash UI组件构建一个简单的菜单,第一个标签控件在电影测试期间不会显示(Ctrl+Enter)。为什么呢 我在图书馆或舞台上没有任何符号。我的文档链接到main.as 当启动.swf时,应该执行的操作是main()获取生成main菜单的指令,该菜单将在电影屏幕的中上部显示唯一的标签 main.as package { import flash.display.*; public class main exten

我正在使用bare ActionScript 3.0从基本的Flash UI组件构建一个简单的菜单,第一个
标签
控件在电影测试期间不会显示
(Ctrl+Enter)
。为什么呢

我在图书馆或舞台上没有任何符号。我的文档链接到main.as

当启动.swf时,应该执行的操作是
main()
获取生成
main菜单的指令,该菜单将在电影屏幕的中上部显示唯一的标签

main.as

package {

    import flash.display.*;

    public class main extends MovieClip{
        public function main(){
            changeState(null, "mainMenu");
        }
        public function changeState(currentState, nextState){
            if(currentState != null){
                removeChild(currentState);
            }
            if(nextState == "mainMenu"){
                var main_menu:mainMenu = new mainMenu(changeState);
                addChild(main_menu);
            }// else if(nextState == "deckManager"){
//              var deck_manager:deckManager = new deckManager(changeState);
//              addChild(deck_manager);
//          }
        }
    }
}
package {

    import flash.display.*;
    import flash.events.MouseEvent;
    import fl.controls.Label;
    import fl.controls.RadioButton;
    import fl.controls.ComboBox;
    import fl.controls.Button;

    public class mainMenu extends Sprite{

        const difficultyRadioGroupName:String = "difficultyGroup"; // group name for easy, normal and hard difficulty radio buttons

        var difficultyLabel:Label; // "Difficulty" label
        var easyDifficultyRadio:RadioButton; // "Easy" difficulty radio button
        var normalDifficultyRadio:RadioButton; // "Normal" difficulty radio button
        var hardDifficultyRadio:RadioButton; // "Hard" difficulty radio button
        var yourDeckLabel:Label; // "Your deck" label
        var yourDeckCombo:ComboBox; // combobox to select your deck(1)
        var editSelectedDeckButton:Button; // button to edit currently selected deck
        var startTheGameButton:Button; // button to start the game
        var theCallbackFunction:Function; // callback function to change between mainMenu and deckManager

        public function mainMenu(callback){

            // create and position the difficulty label
            difficultyLabel = new Label();
            difficultyLabel.text = "Difficulty";
            difficultyLabel.x = width / 2;
            difficultyLabel.y = height / 4;
            addChild(difficultyLabel);

            theCallbackFunction = callback;
        }


        //public function backButtonClicked(evt:MouseEvent){
//          theCallbackFunction(this, "back");
//          return;
//      }
    }
}
主菜单。如所示

package {

    import flash.display.*;

    public class main extends MovieClip{
        public function main(){
            changeState(null, "mainMenu");
        }
        public function changeState(currentState, nextState){
            if(currentState != null){
                removeChild(currentState);
            }
            if(nextState == "mainMenu"){
                var main_menu:mainMenu = new mainMenu(changeState);
                addChild(main_menu);
            }// else if(nextState == "deckManager"){
//              var deck_manager:deckManager = new deckManager(changeState);
//              addChild(deck_manager);
//          }
        }
    }
}
package {

    import flash.display.*;
    import flash.events.MouseEvent;
    import fl.controls.Label;
    import fl.controls.RadioButton;
    import fl.controls.ComboBox;
    import fl.controls.Button;

    public class mainMenu extends Sprite{

        const difficultyRadioGroupName:String = "difficultyGroup"; // group name for easy, normal and hard difficulty radio buttons

        var difficultyLabel:Label; // "Difficulty" label
        var easyDifficultyRadio:RadioButton; // "Easy" difficulty radio button
        var normalDifficultyRadio:RadioButton; // "Normal" difficulty radio button
        var hardDifficultyRadio:RadioButton; // "Hard" difficulty radio button
        var yourDeckLabel:Label; // "Your deck" label
        var yourDeckCombo:ComboBox; // combobox to select your deck(1)
        var editSelectedDeckButton:Button; // button to edit currently selected deck
        var startTheGameButton:Button; // button to start the game
        var theCallbackFunction:Function; // callback function to change between mainMenu and deckManager

        public function mainMenu(callback){

            // create and position the difficulty label
            difficultyLabel = new Label();
            difficultyLabel.text = "Difficulty";
            difficultyLabel.x = width / 2;
            difficultyLabel.y = height / 4;
            addChild(difficultyLabel);

            theCallbackFunction = callback;
        }


        //public function backButtonClicked(evt:MouseEvent){
//          theCallbackFunction(this, "back");
//          return;
//      }
    }
}

从表面上看,这似乎还可以

但是,指定给
标签的X/Y坐标可能不是您所期望的。您可以根据
主菜单
精灵的宽度/高度设置它们。但是
Sprite
还没有子元素(子元素添加到下一行),因此宽度/高度仍然为0


这可能不是问题所在。为了进一步解决这个问题,我会设置一些断点并使用调试器,或者添加一组
trace
语句,以确保您的代码使用正确的值执行。

我相信“fl.controls”包中的所有内容都需要在库中显示适当的资源。如果您只是从fl.controls导入内容,那么除非您将该元素添加到库中,或者摄取包含适当库资产的swc/swf,否则就不会获得控件的UI方面

所以我猜,如果在flashide中,如果您将适当的UI元素从components选项卡拖到库中,它们就会开始显示。它们不必在舞台上或其他任何地方,只要在库中就可以使用您的代码编译UI元素。

有趣!flashide(flashcs5/6或其他什么)与我的老朋友flashbuilder完全不同:)