如何用JavaME中的collidesWith()计算碰撞次数?

时间:2016-08-23 20:31:49

标签: java java-me collision

我正在使用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次碰撞一次。

1 个答案:

答案 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