Cocos2d-js03_画九宫格及对节点进行封装
1、实现画出背景,代码:
//@H_502_6@绘制背景@H_502_6@
var @H_502_6@lc @H_502_6@= cc@H_502_6@.LayerColor@H_502_6@.create@H_502_6@(cc@H_502_6@.color@H_502_6@(175@H_502_6@,175@H_502_6@,75@H_502_6@),630@H_502_6@,630@H_502_6@); lc@H_502_6@.setPosition@H_502_6@(cc@H_502_6@.p@H_502_6@(5@H_502_6@,300@H_502_6@)); lc@H_502_6@.setAnchorPoint@H_502_6@(cc@H_502_6@.p@H_502_6@(0@H_502_6@,0@H_502_6@)); lc@H_502_6@.setTag@H_502_6@(111@H_502_6@); this@H_502_6@.addChild@H_502_6@(lc@H_502_6@);
2、绘画九宫格,代码:
//@H_502_6@绘画九宫格@H_502_6@ @H_502_6@for@H_502_6@(var @H_502_6@i @H_502_6@= 0@H_502_6@;i @H_502_6@<= 10@H_502_6@; i@H_502_6@++){ //@H_502_6@横线@H_502_6@ @H_502_6@var @H_502_6@node @H_502_6@= cc@H_502_6@.DrawNode.create@H_502_6@(); node@H_502_6@.drawSegment@H_502_6@(cc@H_502_6@.p@H_502_6@(0@H_502_6@,i@H_502_6@*63@H_502_6@),cc@H_502_6@.p@H_502_6@(630@H_502_6@,1@H_502_6@,cc@H_502_6@.color@H_502_6@(1@H_502_6@,255@H_502_6@)); lc@H_502_6@.addChild@H_502_6@(node@H_502_6@); //@H_502_6@竖线@H_502_6@ @H_502_6@var @H_502_6@node1 @H_502_6@= cc@H_502_6@.DrawNode.create@H_502_6@(); node1@H_502_6@.drawSegment@H_502_6@(cc@H_502_6@.p@H_502_6@(i@H_502_6@*63@H_502_6@,0@H_502_6@),cc@H_502_6@.p@H_502_6@(i@H_502_6@*63@H_502_6@,630@H_502_6@),255@H_502_6@)); lc@H_502_6@.addChild@H_502_6@(node1@H_502_6@); }
3、添加SnakeGame.js类,根据传入的参数不同,添加不同的精灵,代码:
/** * Created by chaoge on 15/6/23. */ @H_502_6@var @H_502_6@SnakeGame @H_502_6@= cc@H_502_6@.Node@H_502_6@.extend@H_502_6@({ _type@H_502_6@:null@H_502_6@,ctor@H_502_6@:function@H_502_6@(type){ this@H_502_6@._super@H_502_6@(); this@H_502_6@._type @H_502_6@= type; var @H_502_6@sp @H_502_6@= cc@H_502_6@.Sprite@H_502_6@.create@H_502_6@(); //1@H_502_6@蛇头@H_502_6@ 2@H_502_6@身体@H_502_6@ 3@H_502_6@食物@H_502_6@ @H_502_6@switch @H_502_6@(this@H_502_6@._type@H_502_6@){ case @H_502_6@1@H_502_6@: sp @H_502_6@= cc@H_502_6@.Sprite@H_502_6@.create@H_502_6@(res@H_502_6@.snakeHead@H_502_6@); break@H_502_6@; case @H_502_6@2@H_502_6@: sp @H_502_6@= cc@H_502_6@.Sprite@H_502_6@.create@H_502_6@(res@H_502_6@.snakeBody@H_502_6@); break@H_502_6@; case @H_502_6@3@H_502_6@: sp @H_502_6@= cc@H_502_6@.Sprite@H_502_6@.create@H_502_6@(res@H_502_6@.snakeFood@H_502_6@); break@H_502_6@; default @H_502_6@:break@H_502_6@; } sp@H_502_6@.setAnchorPoint@H_502_6@(0@H_502_6@,0@H_502_6@); sp@H_502_6@.setPosition@H_502_6@(0@H_502_6@,0@H_502_6@); this@H_502_6@.addChild@H_502_6@(sp@H_502_6@); } }); SnakeGame@H_502_6@.create @H_502_6@= function@H_502_6@(arg){ var @H_502_6@snakeGame @H_502_6@= new @H_502_6@SnakeGame@H_502_6@(arg); return @H_502_6@snakeGame@H_502_6@; };
//@H_502_6@添加蛇头@H_502_6@ @H_502_6@this@H_502_6@._head @H_502_6@= new @H_502_6@SnakeGame@H_502_6@(1@H_502_6@); this@H_502_6@._head@H_502_6@.setScale@H_502_6@(0.9@H_502_6@); this@H_502_6@._head@H_502_6@.now_row @H_502_6@= Math@H_502_6@.round(Math@H_502_6@.random()*9@H_502_6@); this@H_502_6@._head@H_502_6@.now_col @H_502_6@= Math@H_502_6@.round(Math@H_502_6@.random()*9@H_502_6@); this@H_502_6@._head@H_502_6@.setPosition@H_502_6@(cc@H_502_6@.p@H_502_6@(this@H_502_6@._head@H_502_6@.now_col@H_502_6@*63@H_502_6@,this@H_502_6@._head@H_502_6@.now_row@H_502_6@*63@H_502_6@)); lc@H_502_6@.addChild@H_502_6@(this@H_502_6@._head@H_502_6@,3@H_502_6@); //@H_502_6@添加食物@H_502_6@ @H_502_6@this@H_502_6@._food @H_502_6@= new @H_502_6@SnakeGame@H_502_6@(3@H_502_6@); this@H_502_6@._food@H_502_6@.setScale@H_502_6@(0.9@H_502_6@); this@H_502_6@._food@H_502_6@.now_row @H_502_6@= Math@H_502_6@.round(Math@H_502_6@.random()*9@H_502_6@); this@H_502_6@._food@H_502_6@.now_col @H_502_6@= Math@H_502_6@.round(Math@H_502_6@.random()*9@H_502_6@); this@H_502_6@._food@H_502_6@.setPosition@H_502_6@(cc@H_502_6@.p@H_502_6@(this@H_502_6@._food@H_502_6@.now_col@H_502_6@*63@H_502_6@,this@H_502_6@._food@H_502_6@.now_row@H_502_6@*63@H_502_6@)); lc@H_502_6@.addChild@H_502_6@(this@H_502_6@._food@H_502_6@,3@H_502_6@);
5、实现移动,代码:
//@H_502_6@蛇头移动@H_502_6@ @H_502_6@switch @H_502_6@(dir@H_502_6@){ case @H_502_6@SNAKE_DIR@H_502_6@.UP@H_502_6@: this@H_502_6@._head@H_502_6@.now_row @H_502_6@= this@H_502_6@._head@H_502_6@.now_row @H_502_6@+ 1@H_502_6@; break@H_502_6@; case @H_502_6@SNAKE_DIR@H_502_6@.DOWN@H_502_6@: this@H_502_6@._head@H_502_6@.now_row @H_502_6@= this@H_502_6@._head@H_502_6@.now_row @H_502_6@- 1@H_502_6@; break@H_502_6@; case @H_502_6@SNAKE_DIR@H_502_6@.LEFT@H_502_6@: this@H_502_6@._head@H_502_6@.now_col @H_502_6@= this@H_502_6@._head@H_502_6@.now_col @H_502_6@- 1@H_502_6@; break@H_502_6@; case @H_502_6@SNAKE_DIR@H_502_6@.RIGHT@H_502_6@: this@H_502_6@._head@H_502_6@.now_col @H_502_6@= this@H_502_6@._head@H_502_6@.now_col @H_502_6@+ 1@H_502_6@; break@H_502_6@; default @H_502_6@:break@H_502_6@; } this@H_502_6@._head@H_502_6@.setPosition@H_502_6@(cc@H_502_6@.p@H_502_6@(this@H_502_6@._head@H_502_6@.now_col@H_502_6@*63@H_502_6@,this@H_502_6@._head@H_502_6@.now_row@H_502_6@*63@H_502_6@));
视频地址: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 后期也会把该源码传在群里面去,欢迎大家加入讨论!