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

📄 keyparser.java

📁 用java开发的一个实施策略游戏源码 值得学习一下
💻 JAVA
字号:
package netwar.gui;

import java.awt.event.*;
import netwar.game.Player;
import netwar.game.GameObject;

public class KeyParser implements KeyListener {
	private static KeyParser kp;
	
	private KeyParser(){}
	
	public void keyPressed (java.awt.event.KeyEvent keyEvent) {
		if (keyEvent.getKeyCode()== KeyEvent.VK_UP){
			HexViewer.getHexViewer().getTransform().translate(0,50);
			HexViewer.getHexViewer().updateBackground();
		}
		else if (keyEvent.getKeyCode()== KeyEvent.VK_DOWN) {
			HexViewer.getHexViewer().getTransform().translate(0,-50);
			HexViewer.getHexViewer().updateBackground();
		}
		else if (keyEvent.getKeyCode()== KeyEvent.VK_LEFT) {
			HexViewer.getHexViewer().getTransform().translate(50,0);
			HexViewer.getHexViewer().updateBackground();
		}
		else if (keyEvent.getKeyCode()== KeyEvent.VK_RIGHT) {
			HexViewer.getHexViewer().getTransform().translate(-50,0);
			HexViewer.getHexViewer().updateBackground();
		}
		else {
			switch(keyEvent.getKeyChar()){
				// Zooming in
				case '+':
				case '=':
					if(HexViewer.getHexViewer().parser.zoomLevel < MouseParser.maxZoom) {
						HexViewer.getHexViewer().getTransform().zoom (2.0f, (int)HexViewer.getHexViewer().getBounds().width / 2, (int)HexViewer.getHexViewer().getBounds().height / 2);
						HexViewer.getHexViewer().parser.zoomLevel++;
						HexViewer.getHexViewer().updateBackground();
					}
					break;
				// zooming out
				case '-':
				case '_':
					if(HexViewer.getHexViewer().parser.zoomLevel > MouseParser.minZoom) {
						HexViewer.getHexViewer().getTransform().zoom (0.5f, (int)HexViewer.getHexViewer().getBounds().width / 2, (int)HexViewer.getHexViewer().getBounds().height / 2);
						HexViewer.getHexViewer().parser.zoomLevel--;
						HexViewer.getHexViewer().updateBackground();
					}
					break;
					// selecting all units
				case 'a':
				case 'A':
					Player pl = Player.getLocal();
					int sel[] = new int[pl.numObject() - ((pl.baseDead())?(0):(1))];
					HexViewer.getHexViewer().parser.selarray = sel;
					HexViewer.getHexViewer().parser.selTime = 0.0f;
					if(sel.length == 0) break;
					sel[0] = pl.getFirstObject().getID();
					for(int i = ((pl.baseDead())?(1):(0)); i < sel.length; i++)
						sel[i] = pl.getNextObject().getID();
					String[][] s = GameObject.getObjectWithID(sel[0]).getProperties();
					((netwar.gui.NetwarPanel)netwar.Netwar.netwar.getDataViewer()).updateDisplay(s,sel[0]);
					break;
			}				
		}
	}
	
	public void keyReleased (java.awt.event.KeyEvent keyEvent) {
	}

	public void keyTyped (java.awt.event.KeyEvent keyEvent) {
	}
	
	public static KeyParser getKeyParser(){
		if (kp==null){
			kp = new KeyParser();
		}
		return	kp;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -