定义坐标类型
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)