Game Development Keyboard Control Class: GameAction

zhaozj2021-02-16  107

Package com.Input;

/ ** ??? THE GAMEACTION CLASS IS AN Abstract to a user-initiated ??? action, like jumping or move. GameActions or the mouse with the inputmanager. * / Public class gameaction_ {

??? / ** ??????? normal behavior. The ispressed () Method Returns True ??????? as long as the key is held down. ??? * / ??? public static final INT NORMAL = 0;

??? ** ??????? INITIAL PRESS Behavior. The Ispressed () Method Returns ??????? True Only after the key is first press, and not again ??????? unsil The key is released and press again. ??? * / ??? public static final int detect_inital_press_only = 1;

?????????priVate static final int state_pressed = 1; ??? private static final int state_waiting_for_release = 2;

?????pring name; ??? private int prefeisen; ??? private int.

??? ** ??????? Create a new gameaction with the normal behavior. ??? * / ??? public gameAction (String name) {??????? this (name, normal) ; ???}

??? ** ??????? create a new gameaction with the specified behavior. ??? * / ??? public gameaction (string name, int behavior) {??????? this.name = Name; ??????? this.behavior = behavior; ??????? reset (); ???}

??? / ** ??????? gets the name of this gameaction. ??? * / ??? public string getName () {??????? Return Name; ???}

??? / ** ??????? resets this game isn't ??????? been pressed. ??? * / ??? public void recset () {? ?????? state = state_released; ??????? Amount = 0; ???}

??? / ** ??????? Taps this game () FOLLOWED ??????? by release (). ??? * / ??? public synchronized void tap () {??????? press (); ??????? Release (); ???}

??? / ** ??????? signals what the key was press () {??????? press (1); ??? } ??? / ** ??????? Signals That the key taste the mouse move a spcified distance. ??? * / ??? Public Synchronized Void Press (int Amount) {??????? if (state! = state_waiting_for_release) {??????????? this.amount = Amount; ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?? State = state_pressed; ???????}

???}

??? / ** ??????? signals what the key was released ??? * / ??? public synchronized void release () {??????? state = state_released; ???}

??? / ** ??????? Returns WHETER THE KEY WAS PRESSED or Not Since Last ??????? checked. ??? * / ??? public synchronized boolean ispressed () {??? ???? return (getamount ()! = 0); ???}

??? / ** ??????? for keys, this is the number of times the key WAS ??????? presssed Since it was last checked. ??????? for mouse movement, This is the distance moved. ??? * / ??? public synchronized int getamount () {??????? int RetVal = Amount; ??????? IF (RetVal! = 0) {?? ????????? f (state == start_released) {?????????????????????????????} ?? ????????? Else if (behavior == detect_inital_press_only) {??????????????? state = state_waiting_for_release; ????????????? ?? Amount = 0; ???????????} ??????} ??????? Return RetVal; ???}}

转载请注明原文地址:https://www.9cbs.com/read-10394.html

New Post(0)