[英]How to make invisible game object with transparent/diffuse with alpha 0 to visible alpha 255 over time
[英]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.