分析:
障碍物也是一个Sprite类
障碍物的宽高要设置成随机数
不断向左移动,可以用update方法不断修改x坐标,越界后移除
计算增添物块的时间间隔,可在游戏层用update实现Block.h
#include “Block.h”
USING_NS_CC;
bool Block::init()
{
Sprite::init();
//设置随机宽高
Size size = Size((rand()%25)+5,(rand()%30)+10);
Size visibleSize = Director::getInstance()->getVisibleSize();
//创建物理属性
setPhysicsBody(PhysicsBody::createBox(size));
setTextureRect(Rect(0,0,size.width,size.height));
setColor(Color3B(0,0,0));
setContentSize(size);
setPositionX(visibleSize.width);
//开启计时器
scheduleUpdate();
//设为静态物体
getPhysicsBody()->setDynamic(false);
//设置碰撞标记,触发碰撞事件
getPhysicsBody()->setContactTestBitmask(1);
return true;
}
void Block::update(float dt)
{
setPositionX(getPositionX()-3.5);
if (getPositionX() < 0)
{
unscheduleUpdate();
removeFromParent();
}
}