本文整理了Java中com.jme3.scene.Spatial.move()
方法的一些代码示例,展示了Spatial.move()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Spatial.move()
方法的具体详情如下:
包路径:com.jme3.scene.Spatial
类名称:Spatial
方法名:move
[英]Translates the spatial by the given translation vector.
[中]按给定的平移向量平移空间。
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
public void putGrid(Vector3f pos, ColorRGBA color){
putShape(new Grid(6, 6, 0.2f), color, 1).center().move(pos);
}
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
if (name.equals("up")) {
tmp.set(cam.getUp()).multLocal(value);
s.move(tmp);
s.move(tmp);
s.move(tmp);
s.move(tmp);
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
s.move(offset);
assets.add(s);
if (playAnim) {
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
if (name.equals("up")) {
tmp.set(cam.getUp()).multLocal(value);
s.move(tmp);
s.move(tmp);
s.move(tmp);
s.move(tmp);
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
@Override
public void simpleInitApp() {
cam.setLocation(new Vector3f(10f, 3f, 40f));
cam.lookAtDirection(Vector3f.UNIT_Z.negate(), Vector3f.UNIT_Y);
DirectionalLight dl = new DirectionalLight();
dl.setDirection(new Vector3f(-0.1f, -0.7f, -1).normalizeLocal());
dl.setColor(new ColorRGBA(1f, 1f, 1f, 1.0f));
rootNode.addLight(dl);
AnimComposer composer;
Spatial originalModel = assetManager.loadModel("Models/Oto/Oto.mesh.xml");
composer = originalModel.getControl(AnimComposer.class);
composer.setCurrentAction("Walk");
rootNode.attachChild(originalModel);
Spatial clonedModel = originalModel.clone();
clonedModel.move(10, 0, 0);
composer = clonedModel.getControl(AnimComposer.class);
composer.setCurrentAction("push");
rootNode.attachChild(clonedModel);
Spatial exportedModel = BinaryExporter.saveAndLoad(assetManager, originalModel);
exportedModel.move(20, 0, 0);
composer = exportedModel.getControl(AnimComposer.class);
composer.setCurrentAction("pull");
rootNode.attachChild(exportedModel);
}
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Resets (scale & translation) and moves the spatial to the point. The
* point is relative to the start point
*
* @param tile the tile, Spatial
* @param start start point
*/
protected void moveSpatial(Spatial tile, Point start) {
// Reset, really, the size is 1 after this...
//resetSpatial(tile);
tile.move(start.x, 0, start.y);
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Resets (scale & translation) and moves the spatial to the point. The
* point is relative to the start point
*
* @param tile the tile, spatial
* @param start start point
* @param p the tile point
*/
protected void moveSpatial(Spatial tile, Point start, Point p) {
// Reset, really, the size is 1 after this...
//resetSpatial(tile);
tile.move(p.x - start.x, 0, p.y - start.y);
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Adds two candles to the tile, one to each side
*
* @param n node to attach to
* @param assetManager the asset manager instance
* @param start starting point for the room
* @param p this tile coordinate
*/
private void addCandles(Node n, AssetManager assetManager, Point start, Point p) {
// The "candles"
n.attachChild(loadObject(OBJECT_CHAIN_ID, assetManager, start, p, true).move(-1f, 0, 0));
float yAngle = -FastMath.PI;
n.attachChild(loadObject(OBJECT_CHAIN_ID, assetManager, start, p, true)
.rotate(0, yAngle, 0).move(1f, 0, 1f));
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Add an object, does not add the object to the object registry
*
* @param p the point to add
* @param spell the spell
* @param playerId the player id, the owner
* @return the object contol
*/
public SpellBookObjectControl addRoomSpellBook(Point p, PlayerSpell spell, short playerId) {
// FIXME: The object ID
Spatial object = objectLoader.load(assetManager, p, spell, 0, 0,
ObjectLoader.OBJECT_SPELL_BOOK_ID, playerId, 0);
object.move(0, MapLoader.FLOOR_HEIGHT, 0);
SpellBookObjectControl control = object.getControl(SpellBookObjectControl.class);
nodeObjects.attachChild(object);
return control;
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
protected void controlUpdate(float tpf) {
Vector3f pos = spatial.getLocalTranslation();
// FIXME set real height by BoundingBox height
if (pos.y > MapLoader.FLOOR_HEIGHT + 0.3f) {
spatial.move(0, -tpf * GRAVITY, 0);
} else {
enabled = false;
spatial.setLocalTranslation(pos.x, MapLoader.FLOOR_HEIGHT + 0.3f, pos.z);
spatial.removeControl(this);
onLanded();
}
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
public Spatial load(AssetManager assetManager, Shot object) {
//Create a root
Node root = new Node(object.getName());
List<ArtResource> resources = new ArrayList<>();
resources.add(object.getMeshResource());
float height = 1;
for (ArtResource resource : resources) {
if (resource == null || resource.getType() == ArtResource.ArtResourceType.NONE) {
continue;
}
Spatial s = UniversalArtResourceLoader.load(assetManager, resource);
s.move(0, height++, 0);
root.attachChild(s);
}
return root;
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
public Spatial load(AssetManager assetManager, Room object) {
//Create a root
Node root = new Node(object.getName());
List<ArtResource> resources = new ArrayList<>();
resources.add(object.getCapResource());
resources.add(object.getCeilingResource());
resources.add(object.getCompleteResource());
//resources.add(object.getEditorIcon());
//resources.add(object.getGuiIcon());
resources.add(object.getInsideCornerResource());
resources.add(object.getOutsideCornerResource());
resources.add(object.getStraightResource());
resources.add(object.getTorch());
resources.add(object.getUnknownResource());
resources.add(object.getWallResource());
float height = 1;
for (ArtResource resource : resources) {
if (resource == null || resource.getType() == ArtResource.ArtResourceType.NONE) {
continue;
}
Spatial s = UniversalArtResourceLoader.load(assetManager, resource);
s.move(0, height++, 0);
root.attachChild(s);
}
return root;
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
public Spatial load(AssetManager assetManager, Trap object) {
//Create a root
Node root = new Node(object.getName());
List<ArtResource> resources = new ArrayList<>();
resources.add(object.getMeshResource());
resources.add(object.getFireResource());
//resources.add(object.getFlowerIcon());
//resources.add(object.getGuiIcon());
//resources.add(object.getEditorIcon());
float height = 1;
for (ArtResource resource : resources) {
if (resource == null || resource.getType() == ArtResource.ArtResourceType.NONE) {
continue;
}
Spatial s = UniversalArtResourceLoader.load(assetManager, resource);
s.move(0, height++, 0);
root.attachChild(s);
}
return root;
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
public Spatial load(AssetManager assetManager, Door object) {
//Create a root
Node root = new Node(object.getName());
List<ArtResource> resources = new ArrayList<>();
resources.add(object.getMesh());
resources.add(object.getOpenResource());
resources.add(object.getCloseResource());
//resources.add(object.getFlowerIcon());
//resources.add(object.getGuiIcon());
//resources.add(object.getEditorIcon());
float height = 1;
for (ArtResource resource : resources) {
if (resource == null || resource.getType() == ArtResource.ArtResourceType.NONE) {
continue;
}
Spatial s = UniversalArtResourceLoader.load(assetManager, resource);
s.move(0, height, 0);
root.attachChild(s);
height += 2;
}
return root;
}
代码示例来源:origin: tonihele/OpenKeeper
private Spatial createFlame() {
Spatial result = ((DesktopAssetManager) assetManager).getFromCache(ASSET_KEY);
if (result == null) {
try {
material = createMaterial();
material.setTexture("DiffuseMap", createTexture());
result = new Geometry("torch flame", createMesh(0.5f, 0.5f));
result.setMaterial(material);
result.setQueueBucket(RenderQueue.Bucket.Translucent);
result.move(0.14f, 0.2f, 0);
} catch (Exception e) {
log.log(Level.WARNING, "Can't create torch flame", e);
}
((DesktopAssetManager) assetManager).addToCache(ASSET_KEY, result);
}
if (result != null) {
return result.clone();
}
return null;
}
代码示例来源:origin: tonihele/OpenKeeper
public static void attachWireFrameDebugGrid(AssetManager assetManager, Node n, Vector3f pos,
Integer size, ColorRGBA color) {
Geometry g = new Geometry("wireFrameDebugGrid", new Grid(size, size, 1.0f)); //1WU
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.getAdditionalRenderState().setWireframe(true);
mat.setColor("Color", color);
g.setMaterial(mat);
g.center().move(pos);
n.attachChild(g);
}
}
代码示例来源:origin: jMonkeyEngine-Contributions/Lemur
public void show() {
float zOffset = getMinZ(popup.getWorldBound());
getGuiNode().attachChild(blocker);
getGuiNode().attachChild(popup);
// Make sure the popup spatial is above the blocker
popup.move(0, 0, zBase - zOffset + 1);
if( popup instanceof Panel ) {
// Play any open effects that it has
((Panel)popup).runEffect("open"); // should really be a constant
}
// Request access to the cursor
GuiGlobals.getInstance().requestCursorEnabled(this);
}
代码示例来源:origin: net.sf.phat/phat-core
private static void attachGrid(Vector3f pos, float size, ColorRGBA color,
AssetManager assetManager, Node rootNode) {
Geometry g = new Geometry("wireframe grid", new Grid((int) size, (int) size, 1f));
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.getAdditionalRenderState().setWireframe(true);
mat.setColor("Color", color);
g.setMaterial(mat);
g.center().move(pos);
rootNode.attachChild(g);
}
}
代码示例来源:origin: tonihele/OpenKeeper
@Override
protected void controlUpdate(float tpf) {
// TODO add normal physics control
if (tick > 11) {
plugDecay.removeFromParent();
spatial.removeControl(this);
} else if (tick > 9) {
velocity -= GRAVITY * tpf;
for (Spatial piece : plugDecay.getChildren()) {
float rotate = (float) piece.getUserData("rotate") * 10 * tpf;
float pv = (float) piece.getUserData("velocity") - GRAVITY * tpf;
piece.setUserData("velocity", pv);
piece.move(0, pv * tpf, 0);
//float step = (float) piece.getUserData("yAngle");
//piece.move(tpf * FastMath.cos(step), velocity * tpf, tpf * FastMath.sin(step));
piece.rotate(rotate, rotate, rotate);
}
} else if (tick > 6) {
plug.removeFromParent();
plugDecay.setCullHint(Spatial.CullHint.Inherit);
}
tick += tpf;
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Current animation has stopped
*/
@Override
public void onAnimationStop() {
animationPlaying = false;
// If steering is set, enable it
if (steeringBehavior != null && !steeringBehavior.isEnabled()) {
steeringBehavior.setEnabled(true);
}
if (stateMachine.getCurrentState() == CreatureState.ENTERING_DUNGEON) {
Vector3f offset = ConversionUtils.convertVector(creature.getAnimationOffsets(Creature.OffsetType.PORTAL_ENTRANCE));
spatial.move(offset);
stateMachine.changeState(CreatureState.IDLE);
} else if (stateMachine.getCurrentState() == CreatureState.SLAPPED) {
playAnimation(creature.getAnimation(Creature.AnimationType.GET_UP));
playingAnimationType = AnimationType.OTHER;
// Return to previous state
stateMachine.revertToPreviousState();
} else if (playingAnimationType == AnimationType.DYING) {
// TODO: should show the pose for awhile I guess
if (stateMachine.getCurrentState() == CreatureState.DEAD) {
removeCreature();
}
} else {
playStateAnimation();
}
}
内容来源于网络,如有侵权,请联系作者删除!