2012-02-26 9 views
0

私はここでXNAプログラミングで初心者ですが、私はC#でいくつかのスキルを持っています。今、私はVisual Studio 2010でXNA 4.0でmatch3のゲームを作ろうとしています。問題が発生しました。Match3のゲームでタイルを交換する

Tileという名前のクラスを作成しました。このクラスには、Texture2D、Vector2の位置、いくつかのbool、intなどのタイルに関する情報があります。別のクラスでは、このタイルオブジェクト(合計64個)の2D配列(8×8)があります。私がゲームを走らせるとき、グリッドはテクスチャを持っているはずです。マウスのクリックでタイルを選択する方法を作成できましたが、2つのタイルを交換することはできません。 x1y1x2y2は、2枚の選択されたタイルとTiles[,]のアレイにおける座標で

public void swapPieces(int x1, int y1, int x2, int y2) 
{ 
    Tile temp; 

    temp = Tiles[x1, y1]; 
    Tiles[x1, y1] = Tiles[x2, y2]; 
    Tiles[x2, y2] = temp; 
} 

は私の二次元アレイである:ここでスワップ方法です。私がゲームをトレースすると、タイルがスワップされているのがわかりますが、視覚的には変化はありません。私はこの状況にどのように対処できますか?ありがとう。

答えて

1

スワッピングのコードが正しいようです。Atmには、タイルの位置に2つの別々のシステムがあります。 positing vectorとarray ...配列内のベクトルと位置を入れ替えるか、位置系の1つを取り除く必要があります。

関連する問題