2012-01-29 4 views
2

からその変数を読み、その後、機能を使用して変数を設定します。のFlash CS5:その後、別の関数からそれを読んで、私はパブリック変数を持っていると私はそれを設定しようとしていますdifferect機能

public var str:String; 

public function DailyVerse() 
{ 
    function create() { 
     str = "hello"; 
    } 

    function take() { 
     var message:String = str; 
     trace(message); 
    } 
    take(); 
} 

マイトレース結果はnullと表示されます。なぜそれは私に"hello"を与えないのですか?

+0

' '()を取る前に' – ToddBFisher

+0

は、クラスDailyVerseですか? –

+0

ToddBFisherさん、ありがとうございました! 昇順システム、はいDailyVerseはクラスです。 – Brandon

答えて

2

このように設定した理由はわかりません....変数を取得して設定したい場合は、フラッシュのゲッターとセッター構文​​を使用します。

private var myRestrictedString:String; 

public function get DailyVerse():String { 
    if(myRestrictedString == undefined) { 
     //Not yet created 
     myRestrictedString = "Something"; 
    } 
    return myRestrictedString; 
} 

public function set DaileyVerse(string:String):void { 
    myRestrictedString = string; 
} 

は今、あなたはそのようなあなたのクラスの外からこれをアクセスすることができます。)あなたは `(作成呼び出すことを確認してください

myClass.DailyVerse = "Test"; 
trace(myClass.DailyVerse); //Outputs "Test" 
+0

DailyVerseがクラスであると想定されている場合、クラス内にゲッター/セッターを配置するだけで同じ原理を使用します。 –

+1

怠惰なインスタント・イヤリング! + 1UP。また、 '_myRestrictedString'というアンダースコアを追加することをお勧めしますが、これは私の好みです。 – ToddBFisher

+2

私はプログラミングで恐ろしいですし、私は何をしているのかわからないので、この方法で設定されています:私は働いているXMLファイルから毎日の詩や引用を引っ張るウェブサイトを作成しようとしています。私はそれらの引用符を取って変数に入れて、それを "お気に入り"のデータベースに送り、ユーザーに電子メールを送ってもらうことができます。私はxmlからの引用で、変数を使用していますが、他の関数からトレースすることはできません。 お互いに助けてくれてありがとう。今晩私はこれをどのように働かせるべきかという良いアイデアが得られたので、これを撃つつもりです。 – Brandon

関連する問題