本文整理汇总了Java中com.jme3.bullet.control.BetterCharacterControl类的典型用法代码示例。如果您正苦于以下问题:Java BetterCharacterControl类的具体用法?Java BetterCharacterControl怎么用?Java BetterCharacterControl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BetterCharacterControl类属于com.jme3.bullet.control包,在下文中一共展示了BetterCharacterControl类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onLocationUpdated
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
protected void onLocationUpdated(Vector3f location) {
RigidBodyControl control = target.getSpatial().getControl(RigidBodyControl.class);
if (control != null) {
control.setPhysicsLocation(location);
// 重新激活物理特性,当物体不再运动时物理引擎会让它进入睡眠,以节省性能。
// 这里要确保重新激活,以便在编辑的时候可以重新看到物理效果的影响
control.activate();
}
BetterCharacterControl character = target.getSpatial().getControl(BetterCharacterControl.class);
if (character != null) {
character.warp(location);
}
target.getSpatial().setLocalTranslation(location);
target.updateDatas();
notifyPropertyChanged("location", location);
}
开发者ID:huliqing,项目名称:LuoYing,代码行数:18,代码来源:SimpleModelEntityControlTile.java
示例2: initialize
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
public void initialize() {
super.initialize();
// 对于一些没有“Wait动画”的角色必须想办法让它静止下来
if (animation == null) {
channelModule.reset();
}
// 清除角色的移动量
BetterCharacterControl bcc = actor.getSpatial().getControl(BetterCharacterControl.class);
if (bcc != null) {
bcc.setWalkDirection(new Vector3f());
}
}
开发者ID:huliqing,项目名称:LuoYing,代码行数:15,代码来源:WaitSkill.java
示例3: initialize
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
public void initialize() {
super.initialize();
channelModule = actor.getModule(ChannelModule.class);
jumpIntensityAttribute = actor.getAttribute(bindJumpIntensityAttribute, NumberAttribute.class);
// JumpStart动画
if (!animStartPlayed) {
animStartPlayed = true;
if (animStart != null) {
channelModule.playAnim(animStart, null, LoopMode.DontLoop, useTimeInStart , 0);
}
}
bcc = actor.getSpatial().getControl(BetterCharacterControl.class);
if (bcc != null) {
// 获取物理控制器,并记住跳跃之前角色的移动方向,跳跃之前必须先将角色的移动清0。
// 因为这个WalkDirection是持续的作用力过程,会造成跳跃空中时,如果遇到障碍物有可能会导致角色紧贴着物体不会落下
// 或者遇到障碍物后这个力仍然一直推着角色向前滑动的bug.
lastWalkDirection.set(bcc.getWalkDirection());
bcc.setWalkDirection(new Vector3f());
// 记住这个阻尼值,当角色在跳跃时这个值必须清0,否则会导致很难跳起来。在角色跳到空中后,这个设置可以还原。
lastPhysicsDamping = bcc.getPhysicsDamping();
} else {
LOG.log(Level.WARNING, "Jump failure! BetterCharacterControl not found from Entity, entityId={0}, uniqueId={1}"
, new Object[] {actor.getData().getId(), actor.getData().getUniqueId()});
}
}
开发者ID:huliqing,项目名称:LuoYing,代码行数:30,代码来源:JumpSkill.java
示例4: checkState
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
public int checkState() {
bcc = actor.getSpatial().getControl(BetterCharacterControl.class);
if (bcc == null || !bcc.isOnGround()) {
return StateCode.SKILL_USE_FAILURE;
}
return super.checkState();
}
开发者ID:huliqing,项目名称:LuoYing,代码行数:9,代码来源:JumpSkill.java
示例5: install
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
public void install(Prefab parent) {
this.parent = parent;
characterControl = new BetterCharacterControl(radius, height, mass);
parent.addControl(characterControl);
if (PhysicsSpace.getPhysicsSpace() != null) {
PhysicsSpace.getPhysicsSpace().add(characterControl);
}
}
开发者ID:samynk,项目名称:DArtE,代码行数:11,代码来源:CharacterControllerComponent.java
示例6: ConstructCharacter
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
private void ConstructCharacter(){
Spatial playerSpatial = assetManager.loadModel("Models/Oto/Oto.mesh.xml");
player = (Node)playerSpatial;
Node playerNode = new Node();
playerNode.attachChild(player);
player.move(0,3.5f,0);
player.setLocalScale(0.5f);
//rootNode.attachChild(player);
/* Load the animation controls, listen to animation events,
* create an animation channel, and bring the model in its default position. */
//// control = player.getControl(AnimControl.class);
//// control.addListener(this);
//// channel = control.createChannel();
//// channel.setAnim("stand");
// CapsuleCollisionShape capsuleShape = new CapsuleCollisionShape(1.5f, 6f, 1);
// CharacterControl playerControl = new CharacterControl(capsuleShape, 0.01f);
playerControl = new BetterCharacterControl(1.5f, 6f, 1f);
// player.addControl(playerControl);
playerNode.addControl(playerControl);
// playerControl.setJumpSpeed(10f);
playerControl.setJumpForce(new Vector3f(0,5f,0));
// playerControl.setFallSpeed(20f);
// playerControl.setGravity(1f);
playerControl.setGravity(new Vector3f(0,1f,0));
// Finally we put the player in its starting position and update its state – remember to use setPhysicsLocation() instead of setLocalTranslation() now, since you are dealing with a physical object.
playerControl.warp(new Vector3f(0,10,10));
// We need to register all solid objects to the PhysicsSpace!
bulletAppState.getPhysicsSpace().add(playerControl);
bulletAppState.getPhysicsSpace().addAll(playerNode);
rootNode.attachChild(playerNode);
// SkeletonDebugger skeletonDebug = ConstructSkeleton();
// player.attachChild(skeletonDebug);
animationControl = player.getControl(AnimControl.class);
animationControl.addListener(this);
animationChannel = animationControl.createChannel();
attackChannel = animationControl.createChannel();
attackChannel.addBone(animationControl.getSkeleton().getBone("uparm.right"));
attackChannel.addBone(animationControl.getSkeleton().getBone("arm.right"));
attackChannel.addBone(animationControl.getSkeleton().getBone("hand.right"));
}
开发者ID:devinbost,项目名称:jMathGame3d,代码行数:42,代码来源:HelloJME3.java
示例7: ConstructCharacter
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
private void ConstructCharacter(){
Spatial playerSpatial = assetManager.loadModel("Models/Oto/Oto.mesh.xml");
player = (Node)playerSpatial;
playerNode = new Node();
playerNode.attachChild(player);
player.move(0,3.5f,0);
player.setLocalScale(0.5f);
//rootNode.attachChild(player);
/* Load the animation controls, listen to animation events,
* create an animation channel, and bring the model in its default position. */
//// control = player.getControl(AnimControl.class);
//// control.addListener(this);
//// channel = control.createChannel();
//// channel.setAnim("stand");
// CapsuleCollisionShape capsuleShape = new CapsuleCollisionShape(1.5f, 6f, 1);
// CharacterControl playerControl = new CharacterControl(capsuleShape, 0.01f);
playerControl = new BetterCharacterControl(1.5f, 6f, 1f);
// player.addControl(playerControl);
playerNode.addControl(playerControl);
// playerControl.setJumpSpeed(10f);
playerControl.setJumpForce(new Vector3f(0,5f,0));
// playerControl.setFallSpeed(20f);
// playerControl.setGravity(1f);
playerControl.setGravity(new Vector3f(0,1f,0));
// Finally we put the player in its starting position and update its state – remember to use setPhysicsLocation() instead of setLocalTranslation() now, since you are dealing with a physical object.
playerControl.warp(new Vector3f(0,10,10));
// We need to register all solid objects to the PhysicsSpace!
bulletAppState.getPhysicsSpace().add(playerControl);
bulletAppState.getPhysicsSpace().addAll(playerNode);
rootNode.attachChild(playerNode);
// SkeletonDebugger skeletonDebug = ConstructSkeleton();
// player.attachChild(skeletonDebug);
animationControl = player.getControl(AnimControl.class);
animationControl.addListener(this);
animationChannel = animationControl.createChannel();
attackChannel = animationControl.createChannel();
attackChannel.addBone(animationControl.getSkeleton().getBone("uparm.right"));
attackChannel.addBone(animationControl.getSkeleton().getBone("arm.right"));
attackChannel.addBone(animationControl.getSkeleton().getBone("hand.right"));
}
开发者ID:devinbost,项目名称:jMathGame3d,代码行数:42,代码来源:Main.java
示例8: installGameComponent
import com.jme3.bullet.control.BetterCharacterControl; //导入依赖的package包/类
@Override
public void installGameComponent(Spatial parent)
{
characterControl = new BetterCharacterControl(radius, height, mass);
parent.addControl(characterControl);
}
开发者ID:samynk,项目名称:DArtE,代码行数:7,代码来源:CharacterControllerComponent.java
注:本文中的com.jme3.bullet.control.BetterCharacterControl类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论