2

スターリング フレームワークを使用して adobe animate で空腹のヒーローゲーム (再作成) を作成しました。以下のアドレスからダウンロードしてください。

( http://www.test.farsvila.ir/animate_starling_Error.rar )

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

    import starling.textures.Texture;
    import starling.display.Sprite;
    import starling.events.Event;
    import starling.display.Image;
    import starling.display.Button;
    import starling.core.Starling;
    import starling.events.Event;
    import screens.Welcome;

    public class Assets {

        [Embed(source = "media/graphics/bgWelcome.jpg")]
        public static const BgWelcome: Class;

        [Embed(source = "media/graphics/welcome_hero.png")]
        public static const WelcomeHero: Class;

        [Embed(source = "media/graphics/welcome_title.png")]
        public static const WelcomeTitle: Class;

        [Embed(source = "media/graphics/welcome_playButton.png")]
        public static const WelcomePlayBtn: Class;

        [Embed(source = "media/graphics/welcome_aboutButton.png")]
        public static const WelcomeAboutBtn: Class;

        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];
        }
    }

}

エラーが発生しました --> 静的型 Class の参照を介して fromBitmap 未定義の可能性があるメソッドを呼び出します。

4

1 に答える 1

2

一見、すべてがOKです!DOC によるfromBitmapと、パブリック静的メンバーですstarling.textures.Texture

しかし、問題はimport flash.display3D.textures.Texture あなたの投稿のコードブロックが不足しているためで、私は数分ぶら下がっています!

この場合、同じクラス名、2 つのテクスチャがあります。コンパイラも混乱します(あいまいな参照エラー)。

それを試してみてください

編集済み

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

コンパイラに明確にするために、どのテクスチャがあなたの意味ですか

提案

本当に必要ないと思うimport flash.display3D.textures.Texture; ので、デフォルトのコードから削除してください(に変更せずに問題を解決しTextureましたstarling.textures.Texture

于 2016-12-11T11:34:10.777 に答える