⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputstate.java

📁 使用stl技术,(还没看,是听说的)
💻 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 + -