1,COCOS Studio 创建界面越来越熟悉,不过目前用到的功能还很少 //创建图层,自定义改变画布大小,今天还新用到了一个层容器(不过暂时还不知道这玩意到底是要发挥什么作用),添加按钮,按钮对齐,添加文本框,添加输入框。
2,在resource里面加载组件时,用变量来保存组件,变量名可以随便用,比如:
btn0_png : "res/btnLeft_1.png",
这里的变量名就是btn0.png,这样命名是为了便于理解,知道这是一个按钮,而且序号为0,更
重要的是后面可以直接通过裁剪按钮名得到相应的输出值,这里就引入了一个知识点var str =sender.name.split("Button_")[1];
API--"split",用于裁剪字符串,上述代码括号中的部分就是要拆掉的部分,那么剩下的就是按钮后面的数字了。注意这里
裁剪的按钮名字是原UI编辑器里面按钮的名字“Button_1”,裁剪完之后原来的元素就是一个拥有两个元素的数组,其中第
一个元素为null,第二个元素就是剩下的部分。这个例子中后面跟[1]就是取第二个元素,与取数组的元素相同。
图片名没有什么卵用比如startbtn只是为了方便在添加文件的时候用,按钮名比如Button_1是在编辑UI界面的时候自定义更
改,变量名是在程序编写的时候用。
3,编辑好UI界面以后,第一件事就是加载组件到屏幕上://获取节点并显示到舞台// this._mainUI =ccs.load(res.main_json).node; //_mainUI是需要在开始定义好的。 this.addChild(this._mainUI);
//获取组件,掌握主动权
ccui.helper.seekWidgetByName(par,name)//为按钮添加点击事件,并创建回调方法btn.addTouchEventListener(this._inputHandler.bind(this),this._mainUI);this._lab.setString(str); //设置文本内容this._lab.getString(str); //获取文本内容
创建一个新的类:
var GameMainLayer = cc.Layer.extend({ _startCavel:null, ctor: function() { this._super(); this._init(); },}; var GameSence = cc.Scene.extend({ onEnter:function () { this._super(); var layer = new GameMainLayer(); this.addChild(layer); } });切换场景:
cc.director.runScene(new cc.TransitionShrinkGrow( 2,new GameSence()));//其中new cc.TransitionShrinkGrow(2,s)是使用的特效API,括号中的2是特效时间,s是即将切换至的场景如果不用特效就是:cc.director.runScene(GameSence())//