【发布时间】:2019-04-24 11:15:21
【问题描述】:
现在我正在尝试用 C# 制作一个简单的游戏编辑器,但是当用户在屏幕上添加多个平台时会出现问题:
private void tmrRunGame_Tick(object sender, EventArgs e)
{
foreach(Platform plat in platList)
{
if (plat.getBounds().IntersectsWith(player.getBounds()))
{
tmrGravity.Stop();
isColliding = true;
}
else
{
isColliding = false;
}
}
if(player.getY() < 500 && !isJumping && !isColliding)
{
tmrGravity.Start();
}
else
{
tmrGravity.Stop();
}
}
此代码仅阻止用户跌入最后创建的平台,即用户能够直接跌入之前的所有平台。更令人困惑的是,该程序正在检测所有平台的冲突,但只为一个平台做它应该做的事情!这是非常令人沮丧的,任何帮助表示赞赏。
如果有任何帮助,这就是我添加平台的方式:
private void pbPlatformSelect_MouseClick(object sender, MouseEventArgs e)
{
Platform plat = new Platform(100, 10, 50, 50);
plat.drawTo(this);
platList.Add(plat);
}
【问题讨论】:
标签: c# game-physics collision