Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_2
来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:29 点击:次
在编写获取路径方法前,我们先把角色需要的动画文件加载进来,角色的文件为png 和 plist格式。
player1_anim.png.plist player1_anim.png
player2_anim.png.plist player2_anim.png
plist分别记录了每张图在整张png图中的位置 大小,我们只要知道每张小图名称即可从整张png图中截取出想要的小图。
player1_anim.png图片为
player2_anim.png图片为
图片表示方法相同,每四张表示一个方向
我们在GameBaseScene中添加角色:
1、 首先定义addPlayerAnimation()方法,这个方法主要是加载动画文件到内存 并创建角色需要的上下左右四个方向的动画
void GameBaseScene::addPlayerAnimation() { //创建player1的帧缓存,并加载player1的动画图片到缓存 player1_spriteFrameCache = SpriteFrameCache::getInstance(); player1_spriteFrameCache->addSpriteFramesWithFile(map/player1_anim.plist,map/player1_anim.png); //创建player2的帧缓存,并加载player2的动画图片到缓存 player2_spriteFrameCache = SpriteFrameCache::getInstance(); player2_spriteFrameCache->addSpriteFramesWithFile(map/player2_anim.plist,map/player2_anim.png); //创建player1的上下左右四个方向的Vector Vectorplayer1_anim_left_vector ; Vector player1_anim_right_vector; Vector player1_anim_down_vector; Vector player1_anim_up_vector; //创建player2的上下左右四个方向的Vector Vector player2_anim_left_vector; Vector player2_anim_right_vector; Vector player2_anim_down_vector; Vector player2_anim_up_vector;} //定义name数组 char name[20]; memset(name, 0, 20); //第1-4张图片是表示向左的动画,把这四张图片从缓存中取出,分别保存到相应角色的vector中 for (int i=1; i<=4; i++) { sprintf(name, player1_anim_%02d.png,i); player1_anim_left_vector.pushBack(player1_spriteFrameCache->getSpriteFrameByName(name)); sprintf(name, player2_anim_%02d.png,i); player2_anim_left_vector.pushBack(player2_spriteFrameCache->getSpriteFrameByName(name)); } //第5-8张图片是表示向右的动画 for (int i=5; i<=8; i++) { sprintf(name, player1_anim_%02d.png,i); player1_anim_right_vector.pushBack(player1_spriteFrameCache->getSpriteFrameByName(name)); sprintf(name, player2_anim_%02d.png,i); player2_anim_right_vector.pushBack(player2_spriteFrameCache->getSpriteFrameByName(name)); } //第9-12张图片是表示向下的动画 for (int i=9; i<=12; i++) { sprintf(name, player1_anim_%02d.png,i); player1_anim_down_vector.pushBack(player1_spriteFrameCache->getSpriteFrameByName(name)); sprintf(name, player2_anim_%02d.png,i); player2_anim_down_vector.pushBack(player2_spriteFrameCache->getSpriteFrameByName(name)); } //第13-16张图片是表示向上的动画 for (int i=13; i<=16; i++) { sprintf(name, player1_anim_%02d.png,i); player1_anim_up_vector.pushBack(player1_spriteFrameCache->getSpriteFrameByName(name)); sprintf(name, player2_anim_%02d.png,i); }
相关新闻>>
- Cocos2d-x 自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗
- Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_3
- Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色按路径行走
- 结合cocos2d-x开发配置sublime text
- cocos2d-x开发: 如何从项目中分离出接口范例
- cocos2d-x在iOS/Android双平台上嵌入WebView
- Cocos2d-x 3.2 大富翁游戏项目开发-第十部分实现人物轮流行走
- cocos2d-x开发: 一切应该从配置文件读取开始
- 使用python创建cocos2d-x项目
- cocos2d-x 缓存
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>