0

以前、チェスの駒が選択されたかどうかの検出について質問しました。私は配列を紹介されましたが、色を変更できないという事実を除いて、選択は希望どおりに機能しています。

public static Color[] pieceColo = new Color[4]
  { PawnBl1Col, PawnBl2Col, PawnBl3Col, PawnBl4Col};

これは修正中の配列です。PawnBl1Col は白と宣言されています (他のすべての値とともに)

if (movement.pieceLocX[movement.pLvalX] <= movement.mouseCord.X
 && movement.pieceLocX[movement.pLvalX] + 100 >= movement.mouseCord.X
 && movement.pieceLocY[movement.pLvalY] <= movement.mouseCord.Y
 && movement.pieceLocY[movement.pLvalY] + 100 >= movement.mouseCord.Y)
    movement.pieceColo[movement.pLvalX] = Color.Red;    

実行すると if ステートメントは正常に実行されますが、コマンドの実行に関しては失敗し、何もしません。

movement.PawnBl1Col = Color.Red;

ただし、カラー配列を上記のものに置き換えると、シームレスに機能します。

編集:大きな部分の動きを忘れました.pLvalXは、各オブジェクトと一致する単なる整数です。8 つの値すべてをテストします (32 になります)。X オブジェクトが選択されている場合、X オブジェクトの色が変わります。意味があるかどうかはわかりません。しかし、カラー配列を 0-3 でテストしても機能しません。

4

1 に答える 1