【发布时间】:2013-07-29 01:43:07
【问题描述】:
我正在玩一个非常简单的游戏,它基于触摸/物理示例。基本上发生的情况是,当您触摸屏幕时,它会创建一个带有 body 的形状并使用 box2d 弹跳。现在,我想做的是当那个特定的精灵与任何东西发生碰撞时,它会将当前帧更改为“1”片刻,然后返回到原始帧。
我让它有点工作,但是每当任何精灵与任何东西发生碰撞时,它只会更新最近创建的精灵。这是我的碰撞检测:
private ContactListener createContactListener()
{
ContactListener contactListener = new ContactListener()
{
@Override
public void beginContact(Contact contact) {
face.animate(new long[] { 50, 10}, new int[] {1, 0}, 0);;
}
@Override
public void endContact(Contact contact) {
}
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
}
};
return contactListener;
}
正如我所说,我想我很接近我似乎无法弄清楚。谢谢!
【问题讨论】:
-
我认为您在此处显示的信息不足。什么是面子?它是如何存储的?您可能在课堂上遇到了一些您意想不到的静态内容。
-
脸是一个附有身体的精灵。创建场景时,它会创建物理世界,重力跟随加速度计。当您触摸屏幕上的任何位置时,它会创建“脸”和它的身体,它们会四处弹跳。所以,当你触摸场景 5 次时,你会做出 5 张脸。我希望每个人在与任何东西发生碰撞时都切换到另一个框架片刻,然后回到原来的框架。