cocos2d-x——CCActionInterval(延时动作)例子
2013-10-29 09:58
316 查看
bool
HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return
false;
}
CCSprite *sp=CCSprite::create("Icon.png");
sp->setPosition(ccp(100,
100));
this->addChild(sp,
0, 1);
CCMenuItemFont *label=CCMenuItemFont::create("移动到动作");
CCMenuItemFont *label1=CCMenuItemFont::create("再移动动作");
CCMenuItemFont *label2=CCMenuItemFont::create("跳跃到动作");
CCMenuItemFont *label3=CCMenuItemFont::create("再跳跃到动作");
CCMenuItemFont *label4=CCMenuItemFont::create("淡入动作");
CCMenuItemFont *label5=CCMenuItemFont::create("淡出动作");
CCMenuItemToggle *toggle=CCMenuItemToggle::createWithTarget(this,
menu_selector(HelloWorld::menuCallback), label,label1,label2,label3,label4,label5,NULL);
CCMenu *menu=CCMenu::create(toggle,NULL);
this->addChild(menu);
return
true;
}
void
HelloWorld::menuCallback(CCObject *pSender)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
static int index=0;
switch (index)
{
case 0:
{
//第一个参数为移动所需的时间,第三个参数为目标位置。
CCActionInterval *moveto=CCMoveTo::create(5,
ccp(300,
100));
spr->runAction(moveto);
break;
}
case 1:
{//第一个参数为移动所需要的时间,第三个参数为从目标位置移动的位置。
CCActionInterval * moveBy=CCMoveBy::create(5,
ccp(100,
100));
CCActionInterval *actionByBack=moveBy->reverse();//动作moveBy的反向动作。
spr->runAction(actionByBack);
break;
}
case 2:
{//第一个参数为跳跃所需要的时间,第三个参数为跳跃到的位置,第三个参数为跳跃高度,第四个参数为跳跃次数,。
CCActionInterval *jumpTo=CCJumpBy::create(2,
ccp(300,
200), 50, 4);
spr->runAction(jumpTo);
break;
}
case 3:
{
//第一个参数为跳跃所需要的时间,第二个参数为从目前基础上再跳跃的参数,第三个参数为跳跃高度,第四个参数为跳跃次数,。
CCActionInterval *jumpBy=CCJumpBy::create(2,
ccp(200,
100), 50, 4);
CCActionInterval *actionByBack=jumpBy->reverse();//动作jumpBy的反向动作。
spr->runAction(actionByBack);
break;
}
case 4:
{
CCActionInterval *fadeOut=CCFadeOut::create(2);//动作需要的时间。
spr->runAction(fadeOut);
break;
}
case 5:
{
CCActionInterval *fadeIn=CCFadeIn::create(2);//动作需要的时间。
spr->runAction(fadeIn);
break;
}
}
index=index==5?0:index+1;
}
HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return
false;
}
CCSprite *sp=CCSprite::create("Icon.png");
sp->setPosition(ccp(100,
100));
this->addChild(sp,
0, 1);
CCMenuItemFont *label=CCMenuItemFont::create("移动到动作");
CCMenuItemFont *label1=CCMenuItemFont::create("再移动动作");
CCMenuItemFont *label2=CCMenuItemFont::create("跳跃到动作");
CCMenuItemFont *label3=CCMenuItemFont::create("再跳跃到动作");
CCMenuItemFont *label4=CCMenuItemFont::create("淡入动作");
CCMenuItemFont *label5=CCMenuItemFont::create("淡出动作");
CCMenuItemToggle *toggle=CCMenuItemToggle::createWithTarget(this,
menu_selector(HelloWorld::menuCallback), label,label1,label2,label3,label4,label5,NULL);
CCMenu *menu=CCMenu::create(toggle,NULL);
this->addChild(menu);
return
true;
}
void
HelloWorld::menuCallback(CCObject *pSender)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
static int index=0;
switch (index)
{
case 0:
{
//第一个参数为移动所需的时间,第三个参数为目标位置。
CCActionInterval *moveto=CCMoveTo::create(5,
ccp(300,
100));
spr->runAction(moveto);
break;
}
case 1:
{//第一个参数为移动所需要的时间,第三个参数为从目标位置移动的位置。
CCActionInterval * moveBy=CCMoveBy::create(5,
ccp(100,
100));
CCActionInterval *actionByBack=moveBy->reverse();//动作moveBy的反向动作。
spr->runAction(actionByBack);
break;
}
case 2:
{//第一个参数为跳跃所需要的时间,第三个参数为跳跃到的位置,第三个参数为跳跃高度,第四个参数为跳跃次数,。
CCActionInterval *jumpTo=CCJumpBy::create(2,
ccp(300,
200), 50, 4);
spr->runAction(jumpTo);
break;
}
case 3:
{
//第一个参数为跳跃所需要的时间,第二个参数为从目前基础上再跳跃的参数,第三个参数为跳跃高度,第四个参数为跳跃次数,。
CCActionInterval *jumpBy=CCJumpBy::create(2,
ccp(200,
100), 50, 4);
CCActionInterval *actionByBack=jumpBy->reverse();//动作jumpBy的反向动作。
spr->runAction(actionByBack);
break;
}
case 4:
{
CCActionInterval *fadeOut=CCFadeOut::create(2);//动作需要的时间。
spr->runAction(fadeOut);
break;
}
case 5:
{
CCActionInterval *fadeIn=CCFadeIn::create(2);//动作需要的时间。
spr->runAction(fadeIn);
break;
}
}
index=index==5?0:index+1;
}
相关文章推荐
- cocos2d-x——CCActionInterval(延时动作)例子
- [cocos2d-x 学习] CCActionInterval(持续动作) 子类 CCMoveTo与CCMoveBy 之区别
- cocos2d-x之简单动作CCActionInterval
- Cocos2d-x动作CCAction
- Cocos2d-x_CCAction(常用动作类)介绍
- Cocos2d-x动作CCAction
- cocos2d-X学习之主要类介绍:动作:CCAction
- Cocos2d-x动作CCAction
- cocos2d-x学习笔记-CCAction(动作)
- cocos2d-x学习笔记-CCAction(动作)
- Cocos2d-x_CCAction(动作类)介绍
- 【Cocos2d-X开发学习笔记】第17期:动作类之跟随动作、可调整速度动作以及动作延时的使用
- 【Cocos2d-x】新手自学(五)动作小例子
- cocos2d-android基础——瞬时动作和延时动作
- (转)cocos2d-X学习之主要类介绍:动作:CCAction
- cocos2d-x 动作类 CCAction
- (转载)cocos2d-X学习之主要类介绍:动作:CCAction
- cocos2d-x学习笔记-CCAction动作类继承关系图及理解
- cocos2d-x节点(CCActionInterval.h)API
- Cocos2d-x动作CCAction