Cocos2d-js03_画九宫格及对节点进行封装

前端之家收集整理的这篇文章主要介绍了Cocos2d-js03_画九宫格及对节点进行封装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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@;
};

4、在GameScene里面添加头和食物,代码

//@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
后期也会把该源码传在群里面去,欢迎大家加入讨论!

猜你在找的Cocos2d-x相关文章