我使用了你在keydown中设置变量以进行移动的动作。
如果密钥已关闭,则将它们设置为true。
if (player.collisionArea.hitTestObject(wall0))
{
player.y -= vy;
}
在键盘上你将它们设置为false,在enterframe上你设置它们如果变量为真则移动。
但是,如果我这样做,而不是在按键时设置玩家移动的方式,而不是使用变量。
当我使用hitTestObject停止移动时,流畅的方式不起作用。如果我触摸物体,我就停在那里停留。我无法退回。
我使用player.vy - = speed,player.vx - = speed;
但是,如果我使用原始方法,那么hitTestObject方式可以正常工作。
玩家的命中测试。
它在enterframe内。
ResultSet rs = prepareStatementObj.getGeneratedKeys();
if(rs.next())
{
last_inserted_id=Integer.toString(rs.getInt(1));
}
答案 0 :(得分:0)
看起来你还在继续触发命中测试,所以你需要建立一个忽视最小测试的条件如果你的新方向远离你在触发hittest时的旅行方向
我建议像(伪): *在hittest上设置' hitDirection' to currentDirection和reset down * onEnterFrame:if(hitTest&& direction ==与hitDirection相反)然后移动