cocoscreate

定义坐标类型

cc.Vec2
js定义全局变量
1.module.exports = {

    mouseNumber : 0,
    text:1

};

2.import Variable from "./allVariable";

3.类名调用



动态加载节点背景图片(图片资源必须resources文件夹下面)
方法一
       let that = this
         let sprite =   that.node.getChildByName('souceBtn').getComponent(cc.Sprite)
        sprite.spriteFrame = new cc.SpriteFrame(cc.url.raw('resources/syssoundon2'));//路径分层找
"socreBtn"是cance场景中节点的名字

方法二  匿名函数加载回调

  cc.loader.loadRes("放在resources/的资源路径", cc.SpriteFrame, function (err, spriteFrame) {
             this.node.getChildByName('souceBtn').getComponent(cc.Sprite).spriteFrame = spriteFrame;
      });

加载网络图片
var sprite = this.node.getChildByName('avator').getComponent(cc.Sprite)
cc.loader.load("http://localhost/666", function (err, texture) {
    //下载用户头像
    sprite.spriteFrame = new cc.SpriteFrame(texture);
})

label赋值
 this.label.getComponent(cc.Label).string="3" 此时label的类型声明是node
或者直接this.label.string="3".此时label的声明是cc.label

var s1 = "helloworld";
ss1 = s1.split('')
数字型字符串转数组 以空格分割

事件通知
方法1
import Mouse from "./mouse";
拿到子脚本

在父类声明属性关联
mouse:Mouse

然后在父类里面调用子类的方法

this.mouse.+子类的方法名


方法2
属性检查器关联上 子脚本所在的节点
父类声明 mouse:cc.Node
this.mouse.getcompent("子类的脚本文件名").+子类的方法

预制节点 需要拖到下面的资源管理器中 再关联
![1539950155635.jpg](https://upload-images.jianshu.io/upload_images/2587602-ffb5c704cbe3733d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



自定义数字图片节点
setText:function(text){

   //文字前面的图片
        if (this.pre) {
               preImg = new cc.Node();//创建数字前面的节点
            let sprite = preImg.addComponent(cc.Sprite);//为该节点前加上脚本
            let rect = this.pre.getRect();//获取节点的轮扩
            sprite.spriteFrame = this.pre;//为该节点提供展示图

            preImg.y = 0;//该节点在y初始化0
            preImg.width = rect.width;
            preImg.height = rect.height;//节点的宽高为图片的宽高

            this.node.addChild(preImg);//加入该子节点
            sprite.sizeMode = cc.Sprite.SizeMode.CUSTOM;
            sprite.type = cc.Sprite.Type.SIMPLE;

            preImg.width = preImg.width / preImg.height * this.preHeight; //相对父节点的百分比
            preImg.x = preImg.width / 2;//节点的横坐标为图片中心
            preImg.height = this.preHeight;//纵坐标属性编译器已经固定
            this.node.width = preImg.width;//节点的宽度等于图片的宽度
        }


        this.images = this.res.nums;
        this.num = text;
        this.node.removeAllChildren();
        this.node.width = 0;
        this.node.x = this.originX;
        this.node.y = this.originY;
        
        for( let j=(text + '').length-1; j >= 0; j--){
           
            let digit = parseInt(text / (Math.pow(10, j)) % 10 + '');
            let digitImg = new cc.Node();
            let sp = digitImg.addComponent(cc.Sprite);
          
            let rect = this.images[digit].getRect();
            sp.spriteFrame = this.images[digit];
       
            sp.sizeMode = cc.Sprite.SizeMode.CUSTOM;
            sp.type = cc.Sprite.Type.SIMPLE;
            digitImg.width = rect.width / rect.height * this.node.height;
            digitImg.height = this.node.height;
            digitImg.x = this.node.width + digitImg.width / 2; 
            digitImg.y = 0;
            this.node.width += digitImg.width;
            this.node.addChild(digitImg);
        }

        let offset = this.node.width / 2;
        for (let child of this.node.children) {
            child.x -= offset;
        }
        this.node.anchorX = 0.5;
    },
       //获取当前点击的全局坐标
           var temp = event.getLocation()
           cc.log("点击全局坐标: ",temp.x,temp.y)
           //获取当前点击的局部坐标
           var tempPlayer = that.player.parent.convertToNodeSpaceAR(temp)

你可能感兴趣的:(cocoscreate)