Cocos2d-js05-添加身体和移动身体
2015-06-26 10:37
417 查看
Cocos2d-js05-添加身体和移动身体1、检测蛇是否吃到食物,代码:
//检测蛇是否吃到食物 if(this._head.now_col==this._food.now_col && this._head.now_row==this._food.now_row){ //播放音效 cc.audioEngine.playEffect(res.bg_effect); cc.log("蛇吃到了食物!"); //添加分数 this.m_score += 100; score.setString("分数:"+this.m_score); //重置食物的位置 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)); //添加蛇的身体 this._snakeBody = SnakeGame.create(2); this._snakeBody.setScale(0.9); if(SNAKE_BODY.length == 0 || SNAKE_BODY.length == null){ switch (dir){ case SNAKE_DIR.UP: this._snakeBody.now_row = this._head.now_row - 1; this._snakeBody.now_col = this._head.now_col; break; case SNAKE_DIR.DOWN: this._snakeBody.now_row = this._head.now_row + 1; this._snakeBody.now_col = this._head.now_col; break; case SNAKE_DIR.LEFT: this._snakeBody.now_row = this._head.now_row; this._snakeBody.now_col = this._head.now_col + 1; break; case SNAKE_DIR.RIGHT: this._snakeBody.now_row = this._head.now_row; this._snakeBody.now_col = this._head.now_col - 1; break; default :break; } cc.log("里面没有身体,添加一个!"); }else{ switch (dir){ case SNAKE_DIR.UP: this._snakeBody.now_row = this._snakeBody.now_row - 1; this._snakeBody.now_col = this._snakeBody.now_col; break; case SNAKE_DIR.DOWN: this._snakeBody.now_row = this._snakeBody.now_row + 1; this._snakeBody.now_col = this._snakeBody.now_col; break; case SNAKE_DIR.LEFT: this._snakeBody.now_row = this._snakeBody.now_row; this._snakeBody.now_col = this._snakeBody.now_col + 1; break; case SNAKE_DIR.RIGHT: this._snakeBody.now_row = this._snakeBody.now_row; this._snakeBody.now_col = this._snakeBody.now_col - 1; break; default :break; } cc.log("里面有身体,添加一个!"); } //添加到数组中去 SNAKE_BODY.push(this._snakeBody); this.getChildByTag(111).addChild(this._snakeBody,2); this._snakeBody.setPosition(cc.p(this._snakeBody.now_col*63,this._snakeBody.now_row*63)); }2、移动所有的身体,代码:
//移动所有的身体 if(SNAKE_BODY.length != 0){ var Snode = null; for(var i = SNAKE_BODY.length - 1; i >= 0; i--){ Snode = SNAKE_BODY[i]; if(i == 0){ switch (dir){ case SNAKE_DIR.UP: Snode.now_row = this._head.now_row - 1; Snode.now_col = this._head.now_col; break; case SNAKE_DIR.DOWN: Snode.now_row = this._head.now_row + 1; Snode.now_col = this._head.now_col; break; case SNAKE_DIR.LEFT: Snode.now_row = this._head.now_row; Snode.now_col = this._head.now_col + 1; break; case SNAKE_DIR.RIGHT: Snode.now_row = this._head.now_row; Snode.now_col = this._head.now_col - 1; break; default :break; } }else{ Snode.now_col = SNAKE_BODY[i-1].now_col; Snode.now_row = SNAKE_BODY[i-1].now_row; } Snode.setPosition(cc.p(Snode.now_col*63,Snode.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.htmlQQ交流群:83459374后期也会把该源码传在群里面去,欢迎大家加入讨论!
相关文章推荐
- Cocos2d-js04_游戏触摸交互的监听和实现
- Cocos2d-js03_画九宫格及对节点进行封装
- Cocos2d-js02_实现UI流程和场景跳转
- Cocos2d-js01_环境搭建及项目的创建
- Cocos2d-js 贪吃蛇实战项目,H5游戏开发
- 把quick-3.5的UIWebview移植到quick-cocos2dx2.2.6 详解 quick cocos2dx 2.2.6增加WebView库 实现lua和webview交互
- cocos2d-x3.6 连连看随机地图实现
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十八课:Cocos2D-X缓存机制1-4
- 【COCOS2DX-LUA 脚本开发之二】LUA语言基础
- Cocos2dx------详细介绍如何编写扫雷这个游戏含源码(三)
- Cocos2dx------详细介绍如何编写扫雷这个游戏含源码(二)
- cocos2dx之lua项目开发中MVC框架的简单应用
- cocos2dx 自动添加所有cpp文件到android.mk
- Cocos2dx------详细介绍如何编写扫雷这个游戏含源码(一)
- vs 2015 编译cocos2dx 报错
- cocos js LabelBMFont Bitmap Font Generator
- cocos2d-x坐标系
- cocos2dx 实例 经典游戏机(一)
- cocos js update()
- cocos2d-js游戏设计常用函数