0

ゲームを起動する実行可能ファイルを実行するとすぐにポップアップするロード画面を作成しようとしていますが、ゲームのロード中に、Gamemakerで画像をロードできるようにデスクトップに画像を表示したいと思います。

私は簡単に見て回りましたが、ほとんどの人は、私が望んでいないコンテンツをロードしている間、画像を表示したいと思っています。おそらくそれは... = P

私の推測では、最初にゲームウィンドウをフチなしに設定し、スプラッシュスクリーンをロードして描画し、すべてのメインロードを開始します(具体的には、SlimDXを介したDirectInputのロードには時間がかかります)。しかし、これは透明/不規則な形の画像を持つことをサポートしますか?たとえば、ゲームのロード中にフチなしの円を表示したい場合、それは可能でしょうか?

ありがとう。

4

2 に答える 2

1

とても簡単です。実装するだけSystem.Threadingで完了です。

仕組みは次のとおりです。最初に次を追加します。

using System.Threading;

クラスの一番上に、次のものを追加します。

    //the enum for state types
    enum GameState
    {
        Loading,
        StartMenu

    }

    //Init our gameState enum as variable
    GameState gameState;        

    protected override void LoadContent()
    {
        gameState = GameState.Loading; 


        spriteBatch = new SpriteBatch(GraphicsDevice);

        device = GraphicsDevice;

        Window.Title = "Your Window";

        //Other stuff that you had here before, now go in LoadGame()

        loadingscreen = Content.Load<Texture2D>("loading");             

        Thread bgLoad = new Thread(new ThreadStart(LoadGame));
        bgLoad.IsBackground = true;
        bgLoad.Start();

    }
    public void LoadGame()
    {
        //Loading stuff here


        gameState = GameState.StartMenu; //or GameState.Playing
    }

次に、コンテンツプロジェクトに読み込みテクスチャを配置します

于 2013-12-23T18:16:14.433 に答える
0

私があなたを正しく理解しているなら、あなたは本質的に、全画面ではなく、ウィンドウに付随する通常の境界線とボタンがないウィンドウを開きたいと思うでしょう。

これをテストすることはできませんが、これは良いスタートになるはずです。

ここ!

まず、画像を追跡し、タイマーの時間を追跡できる、必要最低限​​のGame1クラスを作成します。後で、メインプログラムのアセットのロードを実際に追跡するロジックを追加できます。開始するには、3秒などの固定時間でテストします。

于 2012-08-01T17:47:50.127 に答える