0

このチュートリアルに従おうとしています

http://tv.adobe.com/watch/starting-with-starling/starting-with-starling-welcome-screen/

Assets.as クラス (約 7 分で開始) を作成しようとすると、特定のキーワードが FB によって認識されません。具体的には、ディクショナリ、テクスチャ、およびビットマップです。コードを聞く...

   private static var gameTextures:Dictionary = new Dictionary();   
   public static function getTexture(name:String):Texture
   {
   if (gameTextures[name] == undefined)
   {
   var bitmap:Bitmap = new Assets[name]();
   gameTextures[name] = Texture.fromBitmap(bitmap);
   }
   return gameTextures[name];

この時点まで、一連のチュートリアルを綿密にフォローしてきましたが、まだこれらのエラーが発生しています。

ディクショナリ タイプの未定義の可能性のあるメソッドへの呼び出しが見つからないか、コンパイル時の定数ではありません: テクスチャ、ディクショナリ、およびビットマップ 未定義の可能性のあるプロパティへのアクセス: テクスチャ

これを修正できる助けがあれば幸いです、ありがとう。

4

1 に答える 1

1

名前付きクラスをインポートするのを忘れたと思います。フレームワークからクラスを使用する前に、それをクラスにインポートする必要があります。

package 
{
    import flash.display.Bitmap;
    import flash.display3D.textures.Texture;
    import flash.utils.Dictionary;

    public class Assets
    {
        private static var gameTextures:Dictionary = new Dictionary();   

        public static function getTexture(name:String):Texture
        {
            if (gameTextures[name] == undefined)
            {
                var bitmap:Bitmap = new Assets[name]();
                gameTextures[name] = Texture.fromBitMap(bitmap);
            }
            return gameTextures[name];
        }
    }
}

また、Flash Builder では、CTRL + SHIFT + O( CMD + SHIFT + OMac OS では) と入力してインポートを消去できます。これにより、必要なインポート ステートメントが追加され、競合が発生した場合 (テクスチャなど) が表示されます。不要なインポートも削除されます。

コードにクラスの名前を入力するときに、 を押しCTRL + SPACEてオートコンプリートすることができます。選択したクラスのインポートも自動的に行われます。

于 2013-03-18T03:12:10.760 に答える