2011-08-10 10 views
0

仮想キーボードを作成しようとしています。actionscriptのクリックされた要素の配列のインデックスを取得

私はクラスVirtualKeyboardを持っています。このクラスには、それぞれが文字を表す26個のムービークリップのキーボードという配列が含まれています。

メインクラスでは、VirtualKeyboardのオブジェクトを作成し、手紙をクリックするとeventlistenerが追加されました。

var objectClicked:Object = event.currentTarget; 
var index:uint = virtualKeyboard.keyboard.indexOf(objectClicked); 

しかしindexは常に4294967295

がどのように私はクリックされた文字を知ることができる値を返します、私は、対応するキーボードの配列のインデックスを意味する:

は、私は、イベントハンドラでこれを試してみましたその手紙に?

私がVirtualKeyboardクラスに入れても、メインクラスからではなく、同じコードが正しく動作しています。

答えて

3

4294967295は2^32-1です。これは、uintに-1を割り当てた場合に発生します。値が見つからなかったことを意味します。

推奨事項:

  • のindexOfがint、使用intを返したよう。とにかく高速です。
  • 可能であれば、ベクターを使用して、すべてのクラスが同じクラスであることを確認できます。
  • virtualKeyboard.keyboardはDisplayObjectの配列ですか、それとも文字列または数字の配列ですか?あなたは、あなたがリンゴとリンゴを比較していることを確認しなければなりません。
  • オブジェクトにキャストしないでください。 AS3はソリッドタイプのシステムを使用しています。
関連する問題