在飞机大战等游戏中我们经常要让一个物体从屏幕的一端移动到另一端,其实也是一个非常简单的函数就能实现的。代码如下:
void HelloWorld::moveEnemy(float t){
for (int i = 0; i<allEnemy.size(); i++) {
Enemy * nowE=allEnemy.at(i);
nowE->moveTo(nowE->ex,nowE->ey-5);
if (nowE->ey<-nowE->eSprite->getContentSize().height) {
allEnemy.erase(i);
this->removeChild(nowE);
i--;
}
}
}
注意 其中有一条if,在这里的作用是当物体移出屏幕后将物体删掉,这样就不会太多的占用内存空间。