您的位置:首页 > 其它

第一个项目(五)添加跳跃动作

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中实例化

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: