首先安装webStrom。
阅读保卫萝卜代码。
时间机制,首先在MainMenue中的代码:
cc表示Cocos核心,ccs代表CocoStudio,ccui代表CocoStudio的UI控件
1.加载资源,2.加载背景,3.加载主要的层,4.加载【事件】
事件::cc.Event(时间的对象),cc.EventListener(事件的监听器),cc.EventManager(事件管理器)
在一个界面需要监听事件:
// [事件监听]游戏结束事件 var onGameOverListener = cc.EventListener.create({ event : cc.EventListener.CUSTOM, //事件类型:自定义事件 target : this, eventName : jf.EventName.GP_GAME_OVER, callback : this.onGameOver }); cc.eventManager.addListener(onGameOverListener, this);
==>> define.js中是定义的事件,还有config的配置文件在webStorm中查找引用用alt + F7;
在条件合适的时候抛出事件:
// [抛出事件]游戏结束
var gameOverEvent = new cc.EventCustom(jf.EventName.GP_GAME_OVER); gameOverEvent.setUserData({ isWin : false }); cc.eventManager.dispatchEvent(gameOverEvent);
cc.EventCustom又是什么呢?如下:: cc.EventCustom = cc.Event.extend(/** @lends cc.EventCustom# */{ _eventName: null, _userData: null, ctor: function (eventName) { //构造函数,事件名字 cc.Event.prototype.ctor.call(this, cc.Event.CUSTOM); this._eventName = eventName; }, setUserData: function (data) { //事件传递的内容,在监听事件的地方 this._userData = data; }, getUserData: function () { return this._userData; }, getEventName: function () { return this._eventName; } });
Button:
button.addTouchEventListener(this.onLevelButtonEvent, this);// 事件[关卡按钮] onLevelButtonEvent : function(sender, type){ switch (type) { case ccui.Widget.TOUCH_ENDED:console.log( "TODO" );break;}}// 萝卜,贝塞尔曲线 + 缩放运动 node.setScale(0.7); node.setPosition(cc.winSize.width / 2 + 320, 120); var controlPointsTo = [ cc.p(cc.winSize.width / 2 + 400, 100), cc.p(cc.winSize.width / 2 + 120, 0), cc.p(cc.winSize.width / 2 + 100, 20)]; var bezierTo = cc.bezierTo(this.actionDuration * 0.8, controlPointsTo); var scaleTo = cc.scaleTo(this.actionDuration * 0.8, 1); var spawn = cc.spawn(bezierTo, scaleTo); node.runAction(spawn);toFixed:JavaScript中四舍五入,toFixed(2):保留两位小数,四舍五入。Scene: 不应该在切换场景时,在将要出现的场景中的ctor构造函数中,做一些内存开销比较大的操作,如:加载资源,因为上一个场景还没有退出时,已经加载ctor的操作,否则会导致两个场景的资源都被加载到内存,从而导致内存不足,引起程序崩溃。Layer: 是一个容器,Scene作为Layer的容器,层的最大的作用就是管理场景中的节点。(layerColor)Sprite: 精灵通过图片创建,通过纹理缓存创建,Texture2D对象。Sprite的属性中就有一个texture的属性。Tree: Scene作为根节点,可以有很多个Layer层,不同的层的功能各有不同。
- MoveTo:把某一CCSprite移动到某个位置
- MoveBy:把某一CCSprite移动一段距离,它有一个方法reverse,它让对象按原路径返回