簡體   English   中英

給定時間不可見的游戲對象

[英]Game Object invisible for a given time

大家好,目前我正在使用SWINGAME開發一個簡單的2D游戲。 我在2個對象之間設置了碰撞。 因此,當它們發生碰撞時,我想暫時將其中一個隱藏一段時間。 我對時間組件感到困惑,比方說,我希望該對象在3秒鍾后保持不可見狀態,然后將其更改回默認對象。 下面是兩個圖像,如果碰撞為true,則將顯示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 ...}

這應該可以幫助您使用StopWatch類准確地計算時間:

//somewhere in your code
Stopwatch sw = new Stopwatch();
            sw.Start();

public void Draw ()
        {
            if (invisible == true) {
                if(sw.ElapsedMilliseconds <= 3000){

                SwinGame.DrawBitmap ("image2.png", (float)X, (float)Y);

                  } 
            }else {
                sw.Restart();
                SwinGame.DrawBitmap ("image1.png", (float)X, (float)Y);
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM