首先creator api http://docs.cocos.com/creator/api/zh/
常用 UI 控件
http://docs.cocos.com/creator/manual/zh/ui/ui-components.html#
- 保存读取数据 cc.sys.localStorage
// 保存数据
cc.sys.localStorage.setItem(key, value);
// 读取数据
cc.sys.localStorage.getItem(key);
全局变量
window.Global = {
};
模块访问
module.exports = {
node:null,
bg:null
};获取本地坐标
var bpoint = this.bnode.position;
获取sprite的全局坐标
let point = spriteParent.convertToWorldSpaceAR(sprite.getPosition());
spriteParent为sprite的父节点
this.bNode.on(cc.Node.EventType.TOUCH_START, function (event) {
//获取当前点击的坐标
var temp = event.getLocation();
console.log('Mouse down');
}, this);
使用 setPosition 方法:
this.node.setPosition(100, 50);
this.node.setPosition(cc.v2(100, 50));
常见问题:http://blog.csdn.net/qq_28653047/article/details/51880912
手动创建一个Sprite
createSprite(name, imgurl){
var dynamicNode = new cc.Node(name);
var sp = dynamicNode.addComponent(cc.Sprite);
var imgUrl = cc.url.raw(imgurl);
var texture = cc.textureCache.addImage(imgUrl);
sp.spriteFrame = new cc.SpriteFrame();
sp.spriteFrame.setTexture(texture);
return dynamicNode;
},
- 隐藏控件
this.bgimg.node.active = false;
this.syimg.enabled = false // 隐藏单个组件
- 动态改图片文理
首先把图片集放在resources
目录下面
let self = this;
cc.loader.loadRes("cross/cross", cc.SpriteAtlas, function (err, atlas) {
if (err) {
cc.error(err.message || err);
return;
}
// 动态改变图片
var frame = atlas.getSpriteFrame("test1");
spnode.getComponent(cc.Sprite).spriteFrame = frame;
});
可看官方api http://docs.cocos.com/creator/manual/zh/scripting/load-assets.html?h=spriteframe
- 动画
// 贝塞尔曲线3点
var bezier = [cc.p(0,0), cc.p(50,100), cc.p(100,0)];
var bezierBy = cc.bezierBy(0.8, bezier);
var fc = cc.callFunc(function(){
sp.destroy();
},this);
var seq = cc.sequence(bezierBy, fc);
sp.runAction(seq);
- Prefab的使用
tmpPrefab:{
default: null,
type:cc.Prefab,
},
或者自己手动创建
cc.loader.loadRes("aa/tmpSprite", function (err, prefab){
let prebNode = cc.instantiate(prefab);
self.node.addChild(prebNode);
});
移除节点
node.destroy
删除本身this.node.destroy();
而不是this.destroy();延迟时间
// 3秒后
setTimeout(function () {
// do something
}.bind(this), 3000);
- 父节点获取prefab实例的js内容
pnode.getComponent('testScript').iscore = 100;
cc.instantiate
克隆指定的任意类型的对象,或者从 Prefab 实例化出新节点。
var scene = cc.director.getScene();
var node = cc.instantiate(targetNode);
node.parent = scene;