我正在使用JavaME开发游戏,我需要计算游戏中的碰撞次数。
我正在使用collidesWith()
方法,我正在做这样的事情:
private void checkCollision()
{
if (spBoy.collidesWith(spBall, true)) {
this.collides++;
if (this.collides == 3) {
//here I will show a Game Over image.
}
}
}
正如你所看到的,如果碰撞的数量是3,游戏就结束了,但是我无法计算碰撞的数量,因为当我增加this.collides
时,我会自动发生3次碰撞一次。
答案 0 :(得分:0)
我假设您在主循环中调用了using(SqlConnection c = new SqlConnection(Properties.Settings.Default.ConnectionString))
{
c.Open();
SqlCommand command = new SqlCommand("delete from entryTable where ID = @id", c);
command.Parameters.AddWithValue("@id", dataGridView1.SelectedRows[0].Cells["ID"].Value.ToString());
command.ExecuteNonQuery();
}
。这意味着它每秒被调用30-60次。
如果两个精灵在那一秒期间完全没有移动,那么将会有30-60次碰撞 - 因为它在每个循环中都是正确的。
你想要做的是添加一个计时器,你的checkCollision()
精灵不会受到伤害。
spBoy