cocos2d-x游戏实例(1)-视角跟随主角
2015-07-16 13:18
357 查看
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man
本系列的文章在上一个cocos2d-x入门的基础上,以基本的游戏例子进一步研究cocos2d-x
本篇讲解一个主视角跟随主角的效果,先上效果图。
![](http://hi.csdn.net/attachment/201202/21/0_1329832031Nu5S.gif)
很简单,就是整个视角(屏幕)随主角的移动而移动,这在arpg,act等游戏中非常常用,首先看一下我们程序的结构。
![](http://hi.csdn.net/attachment/201202/21/0_1329832035cXLP.gif)
除了入口类AppDelegate外,就是我自己写的MapScene,首先来看.h文件。
![](http://hi.csdn.net/attachment/201202/21/0_132983203913GL.gif)
就是方法的定义,借鉴了HelloWorld的结构,觉得这样写比较简单其中LAYER_NODE_FUNC(MapScene);是为了实现static node的函数。
![](http://hi.csdn.net/attachment/201202/21/0_1329832043444C.gif)
场景方法很简单,就是创建场景,并加入我们例子的核心部分----层
![](http://hi.csdn.net/attachment/201202/21/0_1329832047U62v.gif)
场景的初始化就是首先同过tmx文件定义地图,然后定义主角,并把主角放在地图上,然后为主角定义动作,来回运动,然后加入scheduleUpate,使得每帧调用update。在update中我们将修改我们的视角。
![](http://hi.csdn.net/attachment/201202/21/0_1329832051QW5Q.gif)
在update中,我们获得主角的位置,并把它和主角初始坐标作比较,得到deltax和deltay,然后,视角随主角移动其实就是视角和主角相对静止,地图向相反方向移动即可,所以我们把地图的初始坐标减去刚才获得的坐标差就得到了地图的正确位置
如有错误之处,希望大家多多指正
下一篇继续写游戏实例
本系列的文章在上一个cocos2d-x入门的基础上,以基本的游戏例子进一步研究cocos2d-x
本篇讲解一个主视角跟随主角的效果,先上效果图。
![](http://hi.csdn.net/attachment/201202/21/0_1329832031Nu5S.gif)
很简单,就是整个视角(屏幕)随主角的移动而移动,这在arpg,act等游戏中非常常用,首先看一下我们程序的结构。
![](http://hi.csdn.net/attachment/201202/21/0_1329832035cXLP.gif)
除了入口类AppDelegate外,就是我自己写的MapScene,首先来看.h文件。
![](http://hi.csdn.net/attachment/201202/21/0_132983203913GL.gif)
就是方法的定义,借鉴了HelloWorld的结构,觉得这样写比较简单其中LAYER_NODE_FUNC(MapScene);是为了实现static node的函数。
![](http://hi.csdn.net/attachment/201202/21/0_1329832043444C.gif)
场景方法很简单,就是创建场景,并加入我们例子的核心部分----层
![](http://hi.csdn.net/attachment/201202/21/0_1329832047U62v.gif)
场景的初始化就是首先同过tmx文件定义地图,然后定义主角,并把主角放在地图上,然后为主角定义动作,来回运动,然后加入scheduleUpate,使得每帧调用update。在update中我们将修改我们的视角。
![](http://hi.csdn.net/attachment/201202/21/0_1329832051QW5Q.gif)
在update中,我们获得主角的位置,并把它和主角初始坐标作比较,得到deltax和deltay,然后,视角随主角移动其实就是视角和主角相对静止,地图向相反方向移动即可,所以我们把地图的初始坐标减去刚才获得的坐标差就得到了地图的正确位置
如有错误之处,希望大家多多指正
下一篇继续写游戏实例
相关文章推荐
- Cocos2d-js 3.0 jsb环境调用底层Objective-C代码
- 基于cocos2dx的飞机大战学习[一]-环境搭建
- cocos2dx 常见的49中动作详解
- Cocos2d-x学习之 整体框架描述
- COCOS2DX - TableView的使用
- cocos2dx 3.6 CCPhysicsBody.h 翻译
- 关于cocos2dx开发中的图片资源的一些小技巧
- 在Xcode 6 beta里编译Cocos2d-x iOS项目时失败
- cocos2d学习之旅(二)
- 【独立开发者er Cocos2d-x实战 010】Cocos2dx 中文乱码问题解决
- 【Cocos2d-x】之C++和Lua的调用_01
- Cocos2d-x 接入分享SDK之【Android下图片路径问题】
- 【独立开发者er Cocos2d-x实战 009】Cocos2dx 菜单项CCMenu使用
- cocos2d-x 2.2.3 创建项目的方法
- cocos2d-x(quick-lua)读取csv文件
- Quick-Cocos2d-x 3.3中常用的文件和函数(二)
- Quick-Cocos2d-x 3.3中常用的文件和函数(一)
- quick-cocos2d-x游戏开发——StateMachine状态机
- 关于cocos2dx观察者模式(CCNotificationCenter)
- Quick-Cocos2d-x数据存储之GameState