Cocos2d-x——瞬时动画例子
2013-10-31 11:27
267 查看
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
//创建精灵
CCSprite *spr=CCSprite::create("Icon.png");
spr->setPosition(ccp(100, 100));
this->addChild(spr,0,1);
//创建菜单
CCMenuItemFont *label=CCMenuItemFont::create("放置动作");
CCMenuItemFont *label1=CCMenuItemFont::create("隐藏动作");
CCMenuItemFont *label2=CCMenuItemFont::create("显示动作");
CCMenuItemFont *label3=CCMenuItemFont::create("水平翻转动作");
CCMenuItemFont *label4=CCMenuItemFont::create("垂直翻转动作");
CCMenuItemToggle *toggle=CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::func),
label,label1,label2,label3,label4,NULL);
CCMenu *menu=CCMenu::create(toggle,NULL);
addChild(menu);
return true;
}
void HelloWorld:: func(CCObject *pSceder)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
static int index=0;
switch (index)
{
case 0:
spr->runAction(CCPlace::create(ccp(300, 100)));//放置动作
break;
case 1:
spr->runAction(CCHide::create());//隐藏等效
break;
case 2:
spr->runAction(CCShow::create());//显示
break;
case 3:
spr->runAction(CCFlipX::create(true));//x翻转
break;
case 4:
spr->runAction(CCFlipY::create(true));//y翻转
break;
}
index=index==4?0:index+1;
}
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
//创建精灵
CCSprite *spr=CCSprite::create("Icon.png");
spr->setPosition(ccp(100, 100));
this->addChild(spr,0,1);
//创建菜单
CCMenuItemFont *label=CCMenuItemFont::create("放置动作");
CCMenuItemFont *label1=CCMenuItemFont::create("隐藏动作");
CCMenuItemFont *label2=CCMenuItemFont::create("显示动作");
CCMenuItemFont *label3=CCMenuItemFont::create("水平翻转动作");
CCMenuItemFont *label4=CCMenuItemFont::create("垂直翻转动作");
CCMenuItemToggle *toggle=CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::func),
label,label1,label2,label3,label4,NULL);
CCMenu *menu=CCMenu::create(toggle,NULL);
addChild(menu);
return true;
}
void HelloWorld:: func(CCObject *pSceder)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
static int index=0;
switch (index)
{
case 0:
spr->runAction(CCPlace::create(ccp(300, 100)));//放置动作
break;
case 1:
spr->runAction(CCHide::create());//隐藏等效
break;
case 2:
spr->runAction(CCShow::create());//显示
break;
case 3:
spr->runAction(CCFlipX::create(true));//x翻转
break;
case 4:
spr->runAction(CCFlipY::create(true));//y翻转
break;
}
index=index==4?0:index+1;
}
相关文章推荐
- cocos2d-x——跟随动作
- cocos2d-x 2.1.2 bug发现
- Cocos2d-x ——Action (动作)简介
- cocos2d-x ——菜单层(CCMenuItemToggle)五
- cocos2d-x ——菜单层(CCMenuItemImage)四
- cocos2d-x ——菜单层(CCMenuItemSprite)三
- Cocos2d-x ——菜单层(CCMenuItemLabel) 一
- cocos2d-x ——菜单层(CCMenuItemFont)二
- cocos2d-x——CCLabelBMFont(汉字艺术文本)
- Cocos2d-x——CCLabelAtlas (英文艺术文本)
- cocos2d-x——CCLabelTTF(基本文本)
- Cocos2d-x ——CCMenu菜单层的简介
- Cocos2d-x——场景切换的例子
- Cocos2d-x ——CCLabel 文本标签简介
- cocos2d-x aplha3.0中添加touch事件
- VS2010配置Cocos2dx不需要复制cocos2dx和CocosDenshion
- 在vs2010里自建cocos2dx工程,不依赖cocos2dx包
- cocos2d-x游戏开发(十三)细说回调函数
- VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
- 【玩转cocos2d-x之二十】从CCObject看cocos2d-x的内存管理机制