码迷,mamicode.com
首页 > 移动开发 > 详细

无边框限制的左右移动

时间:2020-12-17 12:30:51      阅读:3      评论:0      收藏:0      [点我收藏+]

标签:efault   div   update   ext   +=   break   方法   his   eve   

 
cc.Class({
    extends: cc.Component,

    properties: {
        //speed
        accl:0,
        player:{
            default:null,
            type:cc.Node
        }//},
    },

    // LIFE-CYCLE CALLBACKS:
    SetInputControl:function () {
        var self=this;//先保存一下this,为self
        //监听
        var listener={
            //event:cc.eventListener.KEYBOARD,//监听键盘
            event:cc.EventListener.KEYBOARD,//监听键盘
            //有两个需要监听的方法
            onKeyPressed:function (KeyCode,event) {
            //  switch监听 KeyCode键盘摁下
                switch (KeyCode)
                {
                    case cc.KEY.a:
                        self.accLeft=true;
                        break;
                    case cc.KEY.d:
                        self.accRight=true;
                        break;
                    case cc.KEY.w:
                        self.accUp=true;
                        break;
                    case cc.KEY.s:
                        self.accDown=true;
                        break;
                }
            },//onKeyReleased
            onKeyReleased:function (KeyCode,event) {
                switch (KeyCode)
                {
                    case cc.KEY.a:
                        self.accLeft=false;
                        break;
                    case cc.KEY.d:
                        self.accRight=false;
                        break;
                    case cc.KEY.w:
                        self.accUp=false;
                        break;
                    case cc.KEY.s:
                        self.accDown=false;
                        break;
                }
            }//},

        }
        //将监听放在事件
        cc.eventManager.addListener(listener,self.node);
    },
     onLoad :function() {
        //Init contorl Dircetion
        this.accLeft=false;
        this.accRight=false;
        this.accUp=false;
        this.accDown=false;
        this.SetInputControl();
     },

    start :function() {

    },

     update:function (dt) {
        //若是利用else 则4个方向;需要为8个方向
         if(this.accLeft)
         {
             this.player.x -= this.accl;
         }
         if(this.accRight)
         {
            this.player.x += this.accl;
         }
         if(this.accUp)
         {
             this.player.y += this.accl;
         }
         if(this.accDown)
         {
             this.player.y -= this.accl;
         }
     } ,
});

  

无边框限制的左右移动

标签:efault   div   update   ext   +=   break   方法   his   eve   

原文地址:https://www.cnblogs.com/allyh/p/14123532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!