2016-05-18 4 views
0

私は現在Monogameを使用して2Dプラットフォームを構築していますが、私は少し問題があります。私は私のゲームを設計した方法が、私はこのように、すべての衝突を持っているタイルのマップを、引き出すことarrayを使用することである:私は私を可能にする方法を考えるようにしようとしているがMonogame - レベル間の読み込み

protected override void LoadContent() 
{ 
    map.Generate(new int[,] { 

    // 0 = no tile drawn 
    // 3 = tile is drawn 

    {0,0,0,0,0,0,0,0,0,0,}, 
    {0,0,0,0,0,0,0,0,0,0,}, 
    {0,0,0,0,0,0,0,0,0,0,}, 
    {0,0,0,0,0,0,0,0,0,0,}, 
    {3,3,3,3,3,3,3,3,3,3,}, 
    {3,3,3,3,3,3,3,3,3,3,}, 

    }, 57); // size 
} 

プレイヤーが特定のポイント(例えば、)に達すると、別の配列をロードします。私の質問で配列を使用します。プレイヤーが左にスポークし、右の最後のタイルに到達した場合

これを達成するための最も単純な方法は何ですか?

+0

プレイヤーが現在のレベルを完了したら、以前のレベルをアンロードして新しいレベルをロードする方法を聞いているようですね?たぶん[この回答](http://gamedev.stackexchange.com/questions/5615/disposing-only-certain-resources-in-xna/)が役立ちます。 – craftworkgames

答えて

1

マイクロソフトが提供する参考資料です。これにより、2Dプラットフォームの作業バージョンを調べて故障させることができます。簡単に言うと

https://msdn.microsoft.com/en-us/library/dd254916%28v=xnagamestudio.31%29.aspx

、これは私が2Dプラットフォーマーといくつかのレベル(スクロールしない)については、実装に期待するものです。

  1. 画面に表示する合計画面、ブロックサイズ、合計ブロックを定義します。
  2. 画面ブロックデータの配列を作成します。
  3. ゲーム画面番号を開始画面に設定します。
  4. この番号を使用してスクリーンブロックデータ配列を参照し、ブロックを画面に描画します。

上記のデータは、バイナリファイルとして生成され、起動時にロードされるか、ゲームクラス内のスクレンブロックデータの配列として簡単に作成されます。

私がリンクしてきたチュートリアルは、あなたのゲームの開発をお手伝いします。

関連する問題