joxin

诚信、业绩、创新

导航

猴哥来了-游戏开发记录之七

Posted on 2018-09-25 13:40    阅读(127)  评论(0编辑  收藏  举报
1、本地化存储最高纪录
写入:
cc.sys.localStorage.setItem("BestScore", Global.BestScore);
读取:
if(!cc.sys.localStorage.getItem("BestScore"))
{
Global.BestScore = 0;
self.scoreLbl.string = "0";
}
else
{
let bs = cc.sys.localStorage.getItem("BestScore");
Global.BestScore = Number(bs);
self.scoreLbl.string = bs;
}
 
2、多个物体,同时 执行不同的动作, 怎么实现?
不同的物体预设好动作的回调方法,
比如 
execAction: function(){
this.node.runAction();
}
接着不同物体监听同一个事件代理节点
onLoad: function(){
delegateNode.on("run-action",this.execAction.bind(this))
}
 
然后准备同时触发动作时,拿到那个代理节点,给它发执行动作的消息
trigger: function(){
delegateNode.emit("run-action")
}
 
这样就可以同时执行动作了。
 
当然事件系统说白了也是for循环
 
所以不妨在for循环里面直接循环调用多个物体的动作回调
for(let actionNode of actionNodeList){
actionNode.getComponent("action-script").execAction();
}
 
由于是单线程,所以动作会在for循环完成后再统一绘制。
两种都行