在本文中介绍下添加一个精灵并且使它动起来
首先在场景中添加一个精灵
//fishscene.h
protected:
CCSprite *newfish;//注意此处将鱼声明为CCSprite类型的变量,也就是一个精灵。
virtual void addfish();
//fishscene.cpp
void fish::addfish()//添加一条鱼(精灵)在屏幕中间
{
newfish=CCSprite::spriteWithFile("fish8.png");
newfish->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width/2,CCDirector::sharedDirector()->getWinSize().height/2));
}
addfish();
this->addChild(newfish,1);//将鱼添加到场景中
然后添加一个控制鱼动作的按钮
//fishscene.h
virtual void menuMoveFish(CCObject *pSender);
//fishscene.cpp中函数的实现
void fish::menuMoveFish(CCObject *pSender)//添加按钮设置鱼的动作
{
CCActionInterval* actionTo = CCMoveTo::actionWithDuration(2, CCPointMake(40,40));//鱼在s(2)秒内移动到某个坐标点
CCActionInterval* actionBy = CCMoveBy::actionWithDuration(1, CCPointMake(80,80));//鱼在s(2)秒内按某个向量移动
CCActionInterval* actionByBack = actionBy->reverse();//鱼返回原来的位置
newfish->runAction(CCSequence::actions(actionTo,actionBy,actionByBack,NULL));//运行动作
}
将按钮添加到场景中
//////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////创建鱼动作move菜单fishMove
CCMenuItemFont *pMoveItem=CCMenuItemFont::itemFromString("move",this,menu_selector(fish::menuMoveFish));
pMoveItem->setColor(ccGREEN);
CC_BREAK_IF(!pMoveItem);
pMoveItem->setPosition(ccp(40,CCDirector::sharedDirector()->getWinSize().height-20));
/////////////////////////////////////////////////////////////////////////
CCMenu* pMenu = CCMenu::menuWithItems(pCloseItem, pBackItem,pMoveItem,NULL);
至此创建结束