学习飞机游戏的心得
2016-06-23 15:06
190 查看
1.首先想好哪些需要单独提炼出来封装在一起,在这个游戏中,我把我方飞机单独提炼成一个类,我方子弹提炼成一个类和一个层容器去生成子弹对象,同样的,敌方飞机和敌方子弹也分别封装在一个类和一个层容器去单独生成它们。然后把它们添加到场景上去。
this._enEmyBullet = new EnEmyBulletLayer(); this.addChild(this._enEmyBullet); //添加敌方子弹层 this._enEmyPlane = new EnEmyPlaneLayer(); this.addChild(this._enEmyPlane); //添加敌机层 this._bullet = new BulletLayer(); this.addChild(this._bullet); //添加子弹层 this._myPlane = new MyPlaneSprite(); this.addChild(this._myPlane); //添加我方飞机层2.感受很深的一点就是一个场景上面添加多个层,然后在这些层容器上单独去处理自己的问题,通过自定义事件标准的好莱坞原则去处理层与层之间的传递处理,模块化的封装更好的控制代码。
this.schedule(function(){cc.eventManager.dispatchCustomEvent(MY_PLANE.ENEMY_PLANE_FILE,that.getPosition())},MY_PLANE.ENEMY_BULLET_NUM,cc.REPEAT_FOREVER)
this._lis = cc.eventManager.addCustomListener(MY_PLANE.PLANE_FILE,this._makeBullet.bind(this));
_makeBullet:function(event){ var pos = event.getUserData(); var sp = new BulletSprite(); sp.setPosition(pos.x,pos.y); this.addChild(sp); this._shredArr.push(sp); }
相关文章推荐
- kettle数据库连接使用变量
- JS 调取摄像头
- AIX下安装Powercenter产品提示INFA JDK HOME无效
- Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
- The processing instruction target matching ''[xX][mM][lL]" is not allowed
- 栈、队列、背包的数组与链表实现
- 转为ArrayList
- dex加壳
- 浅析tomcat中的work目录
- php的更新
- ArrayList构造函数
- 移出元素 Remove Element
- shiro-入门_1_与springmvc集成
- 【bzoj3205】[Apio2013]机器人 斯坦纳树
- [Leetcode]Reverse Vowels of a String
- android代码中动态调整图片的位置
- C4.5算法总结
- mytbatis小问题
- 重建 windows 图标缓存
- Impala与Hive的比较