@@ -537,18 +537,23 @@ Actor.prototype.move = function(direction, _countdown){
537
537
} ;
538
538
539
539
Actor . prototype . handleInput = function ( key ) {
540
- //basic WASD movement
540
+ // basic WASD movement
541
+
541
542
switch ( key ) {
542
- case 87 : //up
543
+ case 38 : //up arrow
544
+ case 87 : //up 'w'
543
545
this . move ( UP ) ;
544
546
break ;
545
- case 83 : //down
547
+ case 40 : //down arrow
548
+ case 83 : //down 's'
546
549
this . move ( DOWN ) ;
547
550
break ;
548
- case 65 : //left
551
+ case 37 : //left arrow
552
+ case 65 : //left 'a'
549
553
this . move ( LEFT ) ;
550
554
break ;
551
- case 68 : //right
555
+ case 39 : //right arrow
556
+ case 68 : //right 'd'
552
557
this . move ( RIGHT ) ;
553
558
break ;
554
559
case KeyEvent . DOM_VK_E :
@@ -763,8 +768,10 @@ var HUD = function(world, game){
763
768
this . displayQueue = [ ] ;
764
769
this . message = "" ;
765
770
766
- this . addMessage ( "Welcome to the ASCII world of Pokemon!!" ) ;
767
- this . addMessage ( "Everything is drawn with letters, numbers, and symbols." ) ;
771
+ this . addMessage ( "Welcome to the ASCII world of Pokemon!! (Press E to Continue)" ) ;
772
+ this . addMessage ( "Everything is drawn with letters, numbers, and symbols." ) ;
773
+ this . addMessage ( "Use the arrow keys or WASD to move." ) ;
774
+
768
775
769
776
this . isUp = false ;
770
777
this . menu = new HUDMenu ( [
@@ -1017,23 +1024,31 @@ var keyPressers = {};
1017
1024
1018
1025
$ ( document ) . keydown ( function ( event ) {
1019
1026
switch ( event . keyCode ) {
1020
- case 87 : //up
1021
- case 83 : //down
1022
- case 65 : //left
1023
- case 68 : //right
1027
+ case 87 : //up 'w'
1028
+ case 38 : //up arrow
1029
+ case 83 : //down 's'
1030
+ case 40 : //down arrow
1031
+ case 65 : //left 'a'
1032
+ case 37 : //left arrow
1033
+ case 68 : //right 'd'
1034
+ case 39 : //right arrow
1035
+ // if a keypresser is already pressing the key don't re-trigger
1024
1036
if ( keyPressers [ event . keyCode ] ) {
1025
1037
return ;
1026
1038
}
1039
+ //send gameHandleInput movement related keycode
1027
1040
game . handleInput ( event . keyCode ) ;
1041
+
1028
1042
if ( game . repeatPressMovementKeys )
1029
1043
keyPressers [ event . keyCode ] = setInterval ( function ( ) { game . handleInput ( event . keyCode ) ; } , 100 ) ;
1030
1044
else
1031
1045
keyPressers [ event . keyCode ] = true ;
1032
1046
break ;
1033
1047
default :
1034
- if ( keyPressers [ event . keyCode ] ) {
1048
+ if ( keyPressers [ event . keyCode ] ) {
1035
1049
return ;
1036
1050
}
1051
+ // give game handleInput anyway?
1037
1052
game . handleInput ( event . keyCode ) ;
1038
1053
keyPressers [ event . keyCode ] = true ;
1039
1054
break ;
@@ -1042,10 +1057,14 @@ $(document).keydown(function(event){
1042
1057
1043
1058
$ ( document ) . keyup ( function ( event ) {
1044
1059
switch ( event . keyCode ) {
1045
- case 87 : //up
1046
- case 83 : //down
1047
- case 65 : //left
1048
- case 68 : //right
1060
+ case 87 : //up 'w'
1061
+ case 38 : //up arrow
1062
+ case 83 : //down 's'
1063
+ case 40 : //down arrow
1064
+ case 65 : //left 'a'
1065
+ case 37 : //left arrow
1066
+ case 68 : //right 'd'
1067
+ case 39 : //right arrow
1049
1068
clearInterval ( keyPressers [ event . keyCode ] ) ;
1050
1069
keyPressers [ event . keyCode ] = null ;
1051
1070
break ;
@@ -1087,6 +1106,7 @@ var asciiRPG = {
1087
1106
}
1088
1107
1089
1108
1109
+ // this should be seperate file and or above everything else, since its used within functions etc
1090
1110
// http://stackoverflow.com/a/1465409/4187005
1091
1111
if ( typeof KeyEvent == "undefined" ) {
1092
1112
var KeyEvent = {
0 commit comments