限制移动速度

 

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);
        }
    },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值