欢迎转载:http://blog.csdn.net/fylz1125/article/details/8492497
上一篇文章已经实现了MoonWarriors开始菜单的大部分元素,还差一个运动的飞船和一个点击newGame的特效和音效。
1.飞船
- //ships
- CCTexture2D*textCache=CCTextureCache::sharedTextureCache()->addImage(s_ship01);
- m_ship=CCSprite::createWithTexture(textCache,CCRectMake(0,45,60,38));
- this->addChild(m_ship,4);
- CCPointposition=ccp(CCRANDOM_0_1()*winSize.width,0);
- m_ship->setPosition(position);
- m_ship->runAction(CCMoveBy::create(2,ccp(CCRANDOM_0_1()*winSize.width,position.y+winSize.height+100)));
缓存飞船图片,create一个飞船,添加,设置位置,执行动作。
在设置飞船位置的时候注意,每次飞船出来位置都是随机的。引擎封装了一个随机函数CCRANDON_0_1(),这个是随机一个0到1之间的float数。用一个MoveBy来实现飞船移动,同样移动的目标点也有一定的随机性。
你以为这样就完了吗,那你就错了。所有的这些元素都在init()函数完成的,即使runAction了,也就只是执行一次。
为了看到不断有飞船在屏幕上飞,需要加点料。这里用schedule()函数来不断更新。这个函数就是任务调度,每隔dt调用一次回调函数,这里就是每0.1秒执行update函数
?