| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- var o0 = require('o0');
- var o0CC = require('o0CC');
- cc.Class({
- extends: require('SnakeSteeringControl'),
- properties: {
- keyTurning:null,
- key:null,
- speedingKey:0,
- },
- onLoad: function () {
- this._super();
- cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
- cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
- this.keyTurning = new Array();
- this.keyTurning[cc.macro.KEY.right] = 90;
- this.keyTurning[cc.macro.KEY.left] = -90;
- this.keyTurning[cc.macro.KEY.d] = 90;
- this.keyTurning[cc.macro.KEY.a] = -90;
- this.key = new Array();
- this.speedingKey = cc.macro.KEY.space;
- },
- onDestroy () {
- cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
- cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
- },
- update: function (dt) {
- var targetTurning = 0;
- for(var _key in this.keyTurning){
- if(this.key[_key] == true){
- targetTurning+=this.keyTurning[_key];
- }
- }
- this.setTargetTurning(targetTurning);
- this._super();
- },
- onKeyDown: function (event) {
- if(this.keyTurning[event.keyCode] != null){
- this.key[event.keyCode] = true;
- }
- if(event.keyCode == this.speedingKey){
- this.setTargetSpeeding(true);
- }
- },
- onKeyUp: function (event) {
- if(this.keyTurning[event.keyCode] != null){
- this.key[event.keyCode] = false;
- }
- if(event.keyCode == this.speedingKey){
- this.setTargetSpeeding(false);
- }
- }
- });
|