第一个项目(五)添加跳跃动作
2014-08-27 18:58
211 查看
// TollgateScene更名为Stage
// 用到按钮和CCScale9Sprite需要#include "cocos-ext.h“ 和using namespace cocos2d::extension;
// 用extension有两个步骤
// 1.在项目属性找到属性配置,c++,常规,附加包含目录,在目录最后添加cocos2d文件中extensions文件的绝对路径
// 2.在项目属性,连接器,输入,附加包含目录,最后一行添加 libExensions.lib
//*******************************************************************************************************************
不得不说的是,主角在继承了CCNode之后,运行动画就会出现各种各样奇怪的BUG,让我一度抓狂,不过我想八成是自己编写逻辑的疏漏,那么,接下来我还是把主角继承自CCSprite吧。
这次我要添加跳跃动作,动作肯定是由按钮触发的,就先写个按钮出来。
Stage.h 中声明按钮.在cpp中实例化
CCControlButton的两个参数,第一个是CCLableTTF类的标签,第二个是CCScale9Sprite类的图片,我直接写成内部类了。
当然还有
为按钮添加点击回调函数
在Player.cpp中
这样就完成了最基本的跳跃功能,下次再优化。
完成到这里感觉很开心,bug变得渐渐少了些。
注:
在继承了CCSprite之后,不能直接creat()里面放图片,这里可以留空,在继承之后的类里面,init函数中加一句话
bool Player::init()
{
this->initWithFile("1.png");
return true;
}
// 用到按钮和CCScale9Sprite需要#include "cocos-ext.h“ 和using namespace cocos2d::extension;
// 用extension有两个步骤
// 1.在项目属性找到属性配置,c++,常规,附加包含目录,在目录最后添加cocos2d文件中extensions文件的绝对路径
// 2.在项目属性,连接器,输入,附加包含目录,最后一行添加 libExensions.lib
//*******************************************************************************************************************
不得不说的是,主角在继承了CCNode之后,运行动画就会出现各种各样奇怪的BUG,让我一度抓狂,不过我想八成是自己编写逻辑的疏漏,那么,接下来我还是把主角继承自CCSprite吧。
这次我要添加跳跃动作,动作肯定是由按钮触发的,就先写个按钮出来。
Stage.h 中声明按钮.在cpp中实例化
button_jump=CCControlButton::create(CCLabelTTF::create("jump","Maker Felt",30),CCScale9Sprite::create("button.png"));
CCControlButton的两个参数,第一个是CCLableTTF类的标签,第二个是CCScale9Sprite类的图片,我直接写成内部类了。
当然还有
<span style="white-space:pre"> </span>this->addChild(button_jump); button_jump->setPosition(90,90);随便写得坐标 一会再说。
为按钮添加点击回调函数
button_jump->addTargetWithActionForControlEvents(this,cccontrol_selector(Stage::button_jump_touchDown),CCControlEventTouchDown);在h文件中声明button_jump_touchDown函数
void button_jump_touchDown(CCObject* pSender,CCControlEvent event);在cpp文件中实例化
void Stage::button_jump_touchDown(CCObject* pSender,CCControlEvent event) { <span style="white-space:pre"> </span> }里面就可以写关于跳跃的内容
player->runAction(player->jump());
在Player.cpp中
CCJumpBy* Player::jump() { CCJumpBy* jump = CCJumpBy::create(2.0f,ccp(0,0),250,1); return jump; }
这样就完成了最基本的跳跃功能,下次再优化。
完成到这里感觉很开心,bug变得渐渐少了些。
注:
在继承了CCSprite之后,不能直接creat()里面放图片,这里可以留空,在继承之后的类里面,init函数中加一句话
bool Player::init()
{
this->initWithFile("1.png");
return true;
}
相关文章推荐
- 第一个项目(六)跳跃动作的初步优化
- cocos2dx3.X项目重写(六)添加不同高度的地图和跳跃优化
- zabbix 安装-添加主机-监控项目-触发器-示警媒介类型-动作
- Android Fragment---给动作栏添加项目
- ServiceStack 项目实例 004 建立第一个服务--添加信息
- ServiceStack 项目实例 004 建立第一个服务--添加信息
- Android Fragment---给动作栏添加项目
- 第一个项目(七)添加地图
- 在空白解决方案中添加第一个项目时,有时候会看不到解决方案文件
- Android Fragment---给动作栏添加项目
- Android Fragment---给动作栏添加项目
- zabbix 安装-添加主机-监控项目-触发器-示警媒介类型-动作
- 我的第一个WFF项目
- 我写的第一个CodeSmith模板(添加修改数据页面)
- 开启了我的第一个开源项目OpenMiner
- 为项目自动添加构建路径
- [WWF]我的第一个Workflow项目
- 对做第一个项目的认识
- [Torque项目活动] 我们TORQUE社区将开始利用TORQUE引擎开发我们的第一个范例游戏[坦克],欢迎参加
- 在VC++项目中为MDI主框架窗口添加位图