【发布时间】:2015-12-07 10:38:21
【问题描述】:
对于我在 JMonkeyEngine3 中搞乱的 3D 游戏,我想从已弃用的“CharacterControl”转移到“BetterCharacterControl”这是我迄今为止启动它们的代码:
public void initPlayer(){
// We set up collision detection for the player by creating
// a capsule collision shape and a CharacterControl.
CapsuleCollisionShape capsuleShape = new CapsuleCollisionShape(1.5f, 6f, 1);
player = new CharacterControl(capsuleShape, 0.05f);
player.setJumpSpeed(20);
player.setFallSpeed(30);
player.setGravity(30);
player.setPhysicsLocation(new Vector3f(-10, 10, 10));
bulletAppState.getPhysicsSpace().add(player);
}
public void initBetterPlayer(){
CapsuleCollisionShape betterCapsuleShape = new CapsuleCollisionShape(1.5f, 6f, 1);
betterPlayer = new BetterCharacterControl(2f,6f,1f);
// set basic physical properties:
betterPlayer.setJumpForce(new Vector3f(0,5f,0));
betterPlayer.setGravity(new Vector3f(0, 1f ,0));
betterPlayer.warp(new Vector3f(-10, 10, 10));
bulletAppState.getPhysicsSpace().add(betterPlayer);
}
在 initBetterPlayer() 中,我也无法将 CapsuleCollisionShape 链接到 BetterPlayer。
这里是我在 simpleUpdate() 方法中使用位置的地方:
player.setWalkDirection(walkDirection);
cam.setLocation(player.getPhysicsLocation());
问题是 BetterCharacterControl 似乎没有像 getPhysicsLocation() 这样的方法,只有一个名为“位置”的受保护字段。
非常感谢任何输入。
【问题讨论】:
标签: java jmonkeyengine