processEvent:function (event) { if (this._bStop == true) return; if (this._state == STATE_PLAYING) { var delta = event.getDelta(); var curPos = this._ship.getPosition(); var pos = null; var limitSpeed = 15+MW.LEVEL; if (delta.x > limitSpeed) { delta.x = limitSpeed; } else if (delta.x < -limitSpeed) { delta.x = -limitSpeed; } if (delta.y > limitSpeed) { delta.y = limitSpeed; } else if (delta.y < -limitSpeed) { delta.y = -limitSpeed; } curPos = cc.pAdd(curPos, delta); // curPos = cc.pClamp(curPos, cc.POINT_ZERO, cc.p(winSize.width, winSize.height)); pos = this.checkInScreen(this._ship, curPos, 0, 0); this._ship.setPosition(pos[0], pos[1]);
或
ctor:function () { this._super(); this.scheduleUpdate(); }, update:function (dt) { var realSpeed = dt * this.speed; var limitSpeed = 2+0.2*MW.LEVEL; if (realSpeed > limitSpeed) { realSpeed = limitSpeed; } // Keys are only enabled on the browser if (sys.platform == 'browser') { var pos = this.getPosition(); if ((MW.KEYS[cc.KEY.w] || MW.KEYS[cc.KEY.up]) && pos.y <= winSize.height) { pos.y += realSpeed; } if ((MW.KEYS[cc.KEY.s] || MW.KEYS[cc.KEY.down]) && pos.y >= 0) { pos.y -= realSpeed; } if ((MW.KEYS[cc.KEY.a] || MW.KEYS[cc.KEY.left]) && pos.x >= 0) { pos.x -= realSpeed; } if ((MW.KEYS[cc.KEY.d] || MW.KEYS[cc.KEY.right]) && pos.x <= winSize.width) { pos.x += realSpeed; } this.setPosition(pos); } },