public class FirstPersonControls extends Controls implements com.google.gwt.event.dom.client.MouseMoveHandler, com.google.gwt.event.dom.client.MouseDownHandler, com.google.gwt.event.dom.client.MouseUpHandler, com.google.gwt.event.dom.client.KeyDownHandler, com.google.gwt.event.dom.client.KeyUpHandler, com.google.gwt.event.dom.client.ContextMenuHandler
Controls.getWidget()
and implemented the following controls:
Mouse move - rotate the Controls.getObject()
.
Mouse down - translate the Controls.getObject()
forward.
Mouse up - translate the Controls.getObject()
backward.
Keyboard:
[W or *up*] - translate the Controls.getObject()
forward.
[S or *down*] - translate the Controls.getObject()
backward.
[A or *left*] - translate the Controls.getObject()
to the left.
[D or *right*] - translate the Controls.getObject()
to the right.
[R] - translate the Controls.getObject()
up.
[F] - translate the Controls.getObject()
down.
[Q] - freez the Controls.getObject()
.
Based on the three.js code.
Constructor and Description |
---|
FirstPersonControls(Object3D object,
com.google.gwt.user.client.ui.Widget widget) |
Modifier and Type | Method and Description |
---|---|
void |
onContextMenu(com.google.gwt.event.dom.client.ContextMenuEvent event) |
void |
onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event) |
void |
onKeyUp(com.google.gwt.event.dom.client.KeyUpEvent event) |
void |
onMouseDown(com.google.gwt.event.dom.client.MouseDownEvent event) |
void |
onMouseMove(com.google.gwt.event.dom.client.MouseMoveEvent event) |
void |
onMouseUp(com.google.gwt.event.dom.client.MouseUpEvent event) |
void |
setLookSpeed(double lookSpeed)
Sets look speed.
|
void |
setMovementSpeed(double movementSpeed)
Sets the movement speed.
|
void |
update(double delta)
The method must be called in the
AnimatedScene } onUpdate method. |
public FirstPersonControls(Object3D object, com.google.gwt.user.client.ui.Widget widget)
public void setMovementSpeed(double movementSpeed)
movementSpeed
- the movement speed.public void setLookSpeed(double lookSpeed)
lookSpeed
- the look speed.public void update(double delta)
AnimatedScene
} onUpdate method.delta
- the time in milliseconds needed to render one frame.public void onMouseMove(com.google.gwt.event.dom.client.MouseMoveEvent event)
onMouseMove
in interface com.google.gwt.event.dom.client.MouseMoveHandler
public void onMouseDown(com.google.gwt.event.dom.client.MouseDownEvent event)
onMouseDown
in interface com.google.gwt.event.dom.client.MouseDownHandler
public void onMouseUp(com.google.gwt.event.dom.client.MouseUpEvent event)
onMouseUp
in interface com.google.gwt.event.dom.client.MouseUpHandler
public void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event)
onKeyDown
in interface com.google.gwt.event.dom.client.KeyDownHandler
public void onKeyUp(com.google.gwt.event.dom.client.KeyUpEvent event)
onKeyUp
in interface com.google.gwt.event.dom.client.KeyUpHandler
public void onContextMenu(com.google.gwt.event.dom.client.ContextMenuEvent event)
onContextMenu
in interface com.google.gwt.event.dom.client.ContextMenuHandler