私は一連の四角形を描くjavaで蛇プログラムを書いています。スネークの長方形が矢印キーが当たったのと同じ場所で方向を変えるように、ブロックの方向変更をどのように遅らせるかは分かりません。プログラムの残りの部分が実行され続ける一方で、ある方法で待つ必要があります。矢印キーが押された場合、それは(...アップのためのu、ダウン用D)私の長方形の向きを変更するには、このメソッドをトリガーJavaのプログラム全体を遅延させないで、1つのメソッド内で遅延させる方法はありますか?
`public void changeDirection(String dir)
{
for(int i = 0; i<snakearray.size(); i++)
{
//checks to make sure youre not changing straight from l to r or u to d
if(dir.equals("r")||dir.equals("l"))
{
if(//direction of currect element is up or down)
//makes the current element of the array change to the new direction
{snakearray.set(i, snakearray.get(i).newDirection(dir));}
}
else if(dir.equals("u")||dir.equals("d"))
{
if(//current element's direction is right or left)
{snakearray.set(i, snakearray.get(i).newDirection(dir));}
}
//pause method but not game method needed here????
}
}`
私はする必要が一時停止を実装するが方法ですか?私はthread.sleep(20)メソッドを試しましたが、プログラム全体を一時停止します。
このコードは独自のスレッドにする必要があります –
この動作が必要な場合は、別のスレッドを作成して使用する必要があります。 しかし、あなたがそれをするまで、あなたはメインスレッドを眠るでしょう –
ちょうどあなたのメインメソッドにスレッドt =新しいスレッド(changeDirection)とt.sleep(何でも)を入れてください。 –