📄 inputstate.java
字号:
package org.ogre4j;
import org.ogre4j.event.KeyEvent;
import org.ogre4j.event.MouseEvent;
/**
* InputState
*
* @author Ivica Aracic <ivica.aracic@bytelords.de>
*/
public class InputState {
private float
mX = 0.5f,
mY = 0.5f,
mZ = 0.5f;
private float
mRelX = 0.0f,
mRelY = 0.0f,
mRelZ = 0.0f;
private boolean buttons[] = new boolean[4];
private boolean keys [] = new boolean[KeyEvent.LAST_KEY+1];
public boolean isKeyDown(int key) {
return keys[key];
}
public boolean isButtonDown(int button) {
return buttons[button];
}
public final float getX() {
return mX;
}
public final float getY() {
return mY;
}
public final float getZ() {
return mZ;
}
public final float getRelX() {
return mRelX;
}
public final float getRelY() {
return mRelY;
}
public final float getRelZ() {
return mRelZ;
}
public void resetMouseState() {
//System.out.println("resetMouseState");
mRelX = 0;
mRelY = 0;
mRelZ = 0;
}
protected void updatePositionState(MouseEvent e) {
//System.out.println("updatePositionState");
mX = e.getX();
mY = e.getY();
mZ = e.getZ();
//System.out.println("("+mX+","+mY+","+mZ+")");
mRelX += e.getRelX();
mRelY += e.getRelY();
mRelZ += e.getRelZ();
//System.out.println("("+mRelX+","+mRelY+","+mRelZ+")");
}
protected void updateButtonState(int buttonMask, boolean down) {
//System.out.println("updateButtonState");
int mask = MouseEvent.BUTTON0_MASK;
for(int i=0; i<4; i++) {
if(MouseEvent.isKeyDown(buttonMask, mask))
buttons[i] = down;
mask = mask << 1;
}
System.out.println(buttons[0]+"\t"+buttons[1]+"\t"+buttons[2]+"\t"+buttons[3]);
}
protected void updateKeyState(int i, boolean down) {
//System.out.println("updateKeyState");
keys[i] = down;
}
public String toString() {
return "abs:("+mX+","+mY+","+mZ+") rel:("+mRelX+","+mRelY+","+mRelZ+")";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -