Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发《赵云要(3)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:29 点击:
=PI/4&&angle<3*PI/4) { rocketDirection=rocker_up; CCLOG("%d",rocketDirection); } else if((angle>=3*PI/4&&angle<=PI)||(angle>=-PI&&angle<-3*PI/4)) { rocketDirection=rocker_left; rocketRun=true; CCLOG("%d",rocketDirection); } else if(angle>=-3*PI/4&&angle<-PI/4) { rocketDirection=rocker_down; CCLOG("%d",rocketDirection); } } //离开事件 void HRocker::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) { if (!isCanMove) { return; } CCSprite *rockerBG = (CCSprite*)this->getChildByTag(tag_rockerBG); CCSprite *rocker = (CCSprite*)this->getChildByTag(tag_rocker); rocker->stopAllActions(); rocker->runAction(CCMoveTo::create(0.08f,rockerBG->getPosition())); isCanMove = false; rocketDirection=rocker_stay; CCLOG("%d",rocketDirection); CCLOG("end"); } void HRocker::update(float dt) { if(isCanMove) { } }这里的思路我等下再说吧

之后就在HelloWorldScene.h添加头文件#include "HRocker.h",并加入摇杆类的成员变量

private:
         HRocker*  rocker;

在HelloWorldScene.h的init()函数添加:

//添加摇杆
	rocker = HRocker::createHRocker("Direction_bt.png","Direction_bc.png",ccp(110,60));//其中第一张图片为摇杆的按钮,第二张为背景
	this->addChild(rocker,2);
	rocker->startRocker(true);

效果如下:我们可以看到,可以移动摇杆了

\

效果还是不错的,很灵敏,小球也不会跳出

三、添加精灵并用摇杆控制精灵的运动

这里为了能让精灵运行,我自己创建了一个类, Hero,它继承了CCNode,里面实现了动画播放和停止

赵云的走的动作其实就是一系列的图片合成在一起,

\

\

另外,赵云不运动时的图片为

\

\

zhoayun.png。这是不运动时精灵的贴图图片,

这里我为了省事,直接用工具TexturePacker将它们打包生成相应的png和plist,这两个合起来在cocos2d-x可以组成一个动画,比较省事

\\

命名为run_animation.png和run_animation.plist,然后还是把它们放在项目的Resources文件夹下

\

\

为了让代码更加容易理解些,我自己创建了一个类, Hero,它继承了CCNode,并且里面有一成员变量 CCSprite* m_HeroSprite;我们就是通过控制它的动画来实现运动的。里面实现了动画播放和停止,好了,代码如下

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1