0
我有一個簡單的2D自上而下的生存遊戲,玩家只需「逃跑」/不與屏幕上的敵人每輪相遇30秒。精靈未能正確更新
每增加一級,每個敵人的數量就會增加。
的問題
我的一個敵人類型是在搜索/休眠狀態,直到玩家來對待它有一定的距離,那麼它是一個追逐的狀態,並保持這種方式,直到回合結束。
在前一輪屏幕上只有30個左右敵人的情況下,所有行爲都可以正常工作。然而,當我開始接近60+敵人的數量時,這個特定的敵人似乎會追趕玩家一段時間,然後似乎又回到睡眠狀態 - 考慮到以下情況,這似乎很奇怪;
public override void Update(SpriteManager inManager)
{
this.spriteRectangle.X = (int)position.X;
this.spriteRectangle.Y = (int)position.Y;
if (this.collisionRectangle.Intersects(inManager.player.spriteRectangle))
this.spriteState = SpriteState.Chasing;
if (this.spriteState == SpriteState.Chasing)
{
CheckForPlayer(inManager);
if (this.spriteRectangle.Intersects(inManager.player.spriteRectangle))
{
inManager.player.spriteState = SpriteState.Dead;
}
}
base.Update(inManager);
}
private void CheckForPlayer(SpriteManager inManager)
{
if (this.position.X > inManager.player.position.X)
this.position.X -= X_SPEED;
else
this.position.X += X_SPEED;
if (this.position.Y > inManager.player.position.Y)
this.position.Y -= Y_SPEED;
else
this.position.Y += Y_SPEED;
}
任何人都可以擺脫任何光線到爲什麼他們認爲這個問題是存在的,我唯一的想法是,高精靈(最大值爲108),也許他們都沒有時間來檢查的球員,雖然當我更多地思考這件事時,這是毫無意義的。
乾杯
你可以進一步調試嗎?檢查它何時停止移動,如果狀態是「追逐」或者它確實切換了狀態。也許這可能是一個更多的敵人更多的滯後問題? – Cyral
玩家狀態有問題 - 非常感謝讓我檢查:) –