2013-01-02 66 views
0

我是新來的actionscript 3.0並試圖編寫一些代碼。我有一門課「RadioButtonExample.as」。通過使用這個類,我試圖在舞臺上顯示不同的對象(單選按鈕和按鈕)。如何在舞臺上顯示對象?


RadioButtonExample.as 

package 
{ 
    import flash.text.TextFieldAutoSize; 
    import flash.display.Sprite; 
    import flash.events.MouseEvent; 
    import fl.controls.RadioButton; 
    import fl.controls.RadioButtonGroup; 
    import fl.controls.Label; 
    import fl.controls.Button; 

    public class RadioButtonExample extends Sprite 
    { 
     private var j:uint; 
     private var padding:uint = 10; 
     private var currHeight:uint = 0; 
     private var verticalSpacing:uint = 30; 

    private var sp:Sprite = new Sprite(); 
     private var rbg:RadioButtonGroup; 
     private var questionLabel:Label; 
     private var answerLabel:Label;   
     private var question:String = "What day is known internationally as Speak Like A Pirate Day?" 
     private var answers:Array = [ "August 12", "March 4", "September 19", "June 22" ]; 

     public function RadioButtonExample() { 
      setupQuiz();  
     } 
     private function setupQuiz():void { 
      setupQuestionLabel(); 
      setupRadioButtons(); 
      setupButton(); 
      setupAnswerLabel(); 
     } 
     private function setupQuestionLabel():void { 
      questionLabel = new Label(); 
      questionLabel.text = question; 
      questionLabel.autoSize = TextFieldAutoSize.LEFT; 
      questionLabel.move(padding,padding + currHeight); 

      currHeight += verticalSpacing; 
      addChild(questionLabel); 
     } 
     private function setupAnswerLabel():void { 
      answerLabel = new Label(); 
      answerLabel.autoSize = TextFieldAutoSize.LEFT; 
      answerLabel.move(padding + 120,padding + currHeight); 

      addChild(answerLabel);    
     } 
     private function setupRadioButtons():void { 
      rbg = new RadioButtonGroup("question1"); 
      createRadioButton(answers[0], rbg); 
      createRadioButton(answers[1], rbg); 
      createRadioButton(answers[2], rbg); 
      createRadioButton(answers[3], rbg); 
     } 
     private function setupButton():void { 
      var b:Button = new Button(); 
      b.move(padding,padding + currHeight); 
      b.label = "Check Answer"; 
      b.addEventListener(MouseEvent.CLICK,checkAnswer); 

      addChild(b); 
     } 
     private function createRadioButton(rbLabel:String,rbg:RadioButtonGroup):void { 
      var rb:RadioButton = new RadioButton(); 
      rb.group = rbg; 
      rb.label = rbLabel; 
      rb.move(padding, padding + currHeight); 
      addChild(rb); 

      currHeight += verticalSpacing; 
     } 
     private function checkAnswer(e:MouseEvent):void { 
      if(!rbg.selection.label) answerLabel.text = "Select an answer."; 
      else { 
       var resultStr:String = rbg.selection.label == answers[2] ? "Correct" : "Incorrect"; 
       answerLabel.text = resultStr; 
      } 
     } 
    } 
} 

在另一方面,我有main.fla文件具有時間軸的第一幀上的下面的代碼。

main.fla

import RadioButtonExample; 
var rbe:RadioButtonExample = new RadioButtonExample(); 

在編譯FLA文件,它不提供任何編譯器錯誤,但不顯示在舞臺上的任何單選按鈕和簡單的按鈕。

請注意,我已經通過在FLA文件的屬性面板下的類文本框中編寫類名嘗試此操作,並且它工作但我不想這樣做。我想用代碼來做到這一點。請讓我知道應該添加到代碼中以在舞臺上顯示對象。請幫我解決我做錯了什麼。

回答

0

嗯,這是probbably不正確的,因爲我是個菜鳥,但我注意到,你沒有它建成像標準:

package { 

import flash.display.MovieClip; 

import flash.text.TextFieldAutoSize; 
import flash.display.Sprite; 
import flash.events.MouseEvent; 
import fl.controls.RadioButton; 
import fl.controls.RadioButtonGroup; 
import fl.controls.Label; 
import fl.controls.Button; 

public class RadioButtonExample extends MovieClip { 

這也許可以爲你指明正確的方向

相關問題