美文网首页
CocosCreator总结

CocosCreator总结

作者: 与安君 | 来源:发表于2020-03-27 17:37 被阅读0次

一 CC常用方法

  1. 创建节点

    var bg = new cc.Node()
    
  2. 添加组件

    var sprite = bg.addComponent(cc.Sprite)//添加组件
    var scp = pendant.addComponent('Pendant')//添加脚本
    
  3. 获取屏幕宽高

    this.pScreenWidth = cc.view.getVisibleSize().width;
    this.pScreenHeight = cc.view.getVisibleSize().height;
    

值类型

  1. 数值(Number)
  2. 向量(Vec2):cc.v2(positionX,positionY);
  3. 字符串(String):直接在文本框里用键盘输入字符串,字符串输入控件分为单行和多行两种,多行文本框可以按回车换行。
  4. 布尔(Boolean):以复选框的形式来编辑,选中状态表示属性值为 true,非选中状态表示 false
  5. 枚举(Enum):以下拉菜单的形式编辑,点击枚举菜单,然后从弹出的菜单列表里选择一项,即可完成枚举值的修改。
  6. 颜色(Color)

动作系统

从哪里移动

cc.moveBy(this.jumpDuration, cc.v2(0, this.jumpHeight))

移动曲线

{ActionInterval}.easing(cc.easeCubicActionOut());

动作回调

cc.callFunc(function,target);

同时运动

var action = cc.spawn(cc.jumpBy(2, cc.v2(300, 0), 50, 4), cc.rotateBy(2, 720));

运动序列

cc.repeatForever(cc.sequence(jumpUp, jumpDown));

运行动作序列

this.node.runAction(this.jumpAction);

节点开启关闭

this.enabled = false;

计算两点之间距离

var dist = APosition.sub(BPosition).mag();//sub向量减法,mag取向量长度

音效

音效资源类型

jumpAudio: {
            default: null,
            type: cc.AudioClip
        },

播放音效

cc.audioEngine.playEffect(this.jumpAudio, false);

输入监听

键盘监听

                // 初始化键盘输入监听
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
        // 取消键盘输入监听
        cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
        cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
        
        onKeyDown (event) {
        switch(event.keyCode) {
            case cc.macro.KEY.a:
            case cc.macro.KEY.left:
               
                break;
            case cc.macro.KEY.d:
            case cc.macro.KEY.right:
                
                break;
        }
    },

    onKeyUp (event) {
        switch(event.keyCode) {
            case cc.macro.KEY.a:
            case cc.macro.KEY.left:
                
                break;
            case cc.macro.KEY.d:
            case cc.macro.KEY.right:
                
                break;
        }
    },

触摸监听

                //注册触摸监听
                var touchReceiver = cc.Canvas.instance.node;
        touchReceiver.on('touchstart', this.onTouchStart, this);
        touchReceiver.on('touchend', this.onTouchEnd, this);
        //注销触摸监听
        var touchReceiver = cc.Canvas.instance.node;
        touchReceiver.off('touchstart', this.onTouchStart, this);
        touchReceiver.off('touchend', this.onTouchEnd, this);
        //触摸开始
        onTouchStart (event) {
        var touchLoc = event.getLocation();//获取触摸点
        
    },

    onTouchEnd (event) {
       
    },

对象池

//创建对象池
this.starPool = new cc.NodePool('Star');
//从对象池创建对象
if (this.starPool.size() > 0) {
    newStar = this.starPool.get(this);
} else {
    newStar = cc.instantiate(this.starPrefab);
}
//放回对象池,这个方法会同时调用节点的 removeFromParent
this.starPool.put(newStar);

场景切换

cc.director.loadScene('SampleScene');

相关文章

网友评论

      本文标题:CocosCreator总结

      本文链接:https://www.haomeiwen.com/subject/ekgmnctx.html