0
皆さん、こんにちは皆、SWINGAMEを使って簡単な2Dゲームを開発しています。私は2つのオブジェクトの間に衝突を設定しました。彼らが衝突したとき、私は一時的にそれらのうちの1つを見えないようにしたい。私は時間コンポーネントについて固執しています。オブジェクトをデフォルトのオブジェクトに戻してから3秒間目に見えないようにしたいとしましょう。以下は2つの画像です。衝突が真であればimage2、そうでなければimage1を表示します。私は、不可視を示すために別のイメージを使用します。ここに私のコードです。与えられた時間にゲームオブジェクトが見えない
プレーヤークラス:
public void Draw()
{
if (invisible == true) {
if(elapsedTime <= 3.0){
elapsedTime += elapsedTime;
SwinGame.DrawBitmap ("image2.png", (float)X, (float)Y);
}
}else {
elapsedTime = 0;
SwinGame.DrawBitmap ("image1.png", (float)X, (float)Y);
}
}
public bool Invisible {
get { return invisible; }
set { invisible = value; }
}
オブジェクトの衝突のクラス:
{... //Some codes
for(int i = 0; i < _obstacles.Count; i++)
{
if (_obstacles [i] is Invisible) {
p.Invisible = true;
p.Draw();
}
}
//Some codes ...}
これはイメージになります3秒間表示され、その後は消えます。何か案は? –
私はちょうどタイマーを追加し、あなたのコードをコピー貼り付けました。私は助けようとするより多くのコードを見る必要があります。とにかく、Visibilityプロパティをコードのどこかでfalseに設定しているかどうか確認することをお勧めします。 – Elis
私は上記のコードを更新しました。見てください:) –