Cocos2d-js03_画九宫格及对节点进行封装
发布时间:2020-12-14 21:36:44 所属栏目:百科 来源:网络整理
导读:Cocos2d-js03_画九宫格及对节点进行封装 1、实现画出背景,代码: // 绘制背景 var lc = cc . LayerColor . create ( cc . color ( 175 , 175 , 75 ), 630 , 630 ); lc . setPosition ( cc . p ( 5 , 300 )); lc . setAnchorPoint ( cc . p ( 0 , 0 )); lc .
Cocos2d-js03_画九宫格及对节点进行封装 1、实现画出背景,代码: //绘制背景 var lc = cc.LayerColor.create(cc.color(175,175,75),630,630); lc.setPosition(cc.p(5,300)); lc.setAnchorPoint(cc.p(0,0)); lc.setTag(111); this.addChild(lc); 2、绘画九宫格,代码: //绘画九宫格 for(var i = 0;i <= 10; i++){ //横线 var node = cc.DrawNode.create(); node.drawSegment(cc.p(0,i*63),cc.p(630,1,cc.color(1,255)); lc.addChild(node); //竖线 var node1 = cc.DrawNode.create(); node1.drawSegment(cc.p(i*63,0),cc.p(i*63,630),255)); lc.addChild(node1); } 3、添加SnakeGame.js类,根据传入的参数不同,添加不同的精灵,代码: /** * Created by chaoge on 15/6/23. */ var SnakeGame = cc.Node.extend({ _type:null,ctor:function(type){ this._super(); this._type = type; var sp = cc.Sprite.create(); //1蛇头 2身体 3食物 switch (this._type){ case 1: sp = cc.Sprite.create(res.snakeHead); break; case 2: sp = cc.Sprite.create(res.snakeBody); break; case 3: sp = cc.Sprite.create(res.snakeFood); break; default :break; } sp.setAnchorPoint(0,0); sp.setPosition(0,0); this.addChild(sp); } }); SnakeGame.create = function(arg){ var snakeGame = new SnakeGame(arg); return snakeGame; }; 4、在GameScene里面添加头和食物,代码: //添加蛇头 this._head = new SnakeGame(1); this._head.setScale(0.9); this._head.now_row = Math.round(Math.random()*9); this._head.now_col = Math.round(Math.random()*9); this._head.setPosition(cc.p(this._head.now_col*63,this._head.now_row*63)); lc.addChild(this._head,3); //添加食物 this._food = new SnakeGame(3); this._food.setScale(0.9); this._food.now_row = Math.round(Math.random()*9); this._food.now_col = Math.round(Math.random()*9); this._food.setPosition(cc.p(this._food.now_col*63,this._food.now_row*63)); lc.addChild(this._food,3); 5、实现移动,代码: //蛇头移动 switch (dir){ case SNAKE_DIR.UP: this._head.now_row = this._head.now_row + 1; break; case SNAKE_DIR.DOWN: this._head.now_row = this._head.now_row - 1; break; case SNAKE_DIR.LEFT: this._head.now_col = this._head.now_col - 1; break; case SNAKE_DIR.RIGHT: this._head.now_col = this._head.now_col + 1; break; default :break; } this._head.setPosition(cc.p(this._head.now_col*63,this._head.now_row*63)); 视频地址:http://www.9miaoketang.com/course/37 课程讨论帖地址:http://www.9miao.com/thread-64587-1-1.html 源码地址:https://store.cocos.com/stuff/show/128289.html QQ交流群:83459374 后期也会把该源码传在群里面去,欢迎大家加入讨论! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c – 编译器是否为“const”和“not-const”函数提供了模糊
- ruby-on-rails-3 – 绑定的activerecords-queries使用聚合函
- c – 使用智能指针制作哈希表?
- Flex调用pv3D生成swf文件是,发生错误 Error #2032: 解决办
- Lisp / Scheme DSEL
- c – 朋友功能默认模板:英特尔ICPC警告
- 如何从我的C#XML文档注释链接到MSDN /官方文档?
- Error:(65) Error parsing XML: not well-formed (invalid
- ruby-on-rails – Ruby on Rails:使用一个表单和一个提交为
- ajax同步通信的小细节_IE浏览器中open函数的参数设置问题