首先想要实现这些最好的方式是用多个类来实现 来一个 game 类
剩下的 来一些 Node 节点的类型
GameManage类是用来 控制整个游侠的 首先先创建一个地图类
这里的地地图继承 Node 类 里面需要实现的 也很少就是 写几个地图 流程
和我上一个写的没啥太大的差距
首先写一个 类枚举 然后规划有几个地图 然后 通过 switch来判断 用哪张 图片
用哪张通过函数 调用 改变 枚举的值就好了
Longing* Longing::CreateScene(Skip temp)
{
Longing::temp = temp;
return create();
}
返回一个 这样就能在里面更改 tepy的值了,
怎么让地图移动其实很简单 就是加一个 调度去 两张 地图 或者一张 长的
吧地图 位置 连着设置 然后让调度器 一直移动两张地图 正一张地图 出界面了 立马就 更该出界面的地图的位置这样就能达到 更换地图的效果了
//这个是调度器的 生命这个是 默认调度器 每一帧都刷新所以自己需要造两个 变量控制一下 刷新的速度
scheduleUpdate();
}
void MapManage::updata(float dt)
{
移动两张地图 满足条件更换地图
bg1->setPositionY(bg1->getPositionY() - dt * 50);
bg2->setPositionY(bg2->getPositionY() - dt * 50);
if (bg1->getPositionY() < -bg1->getContentSize().height*1.5f)
{
bg1->setPositionY(bg1->getContentSize().height*1.5f);
}
if (bg2->getPositionY() < -bg1->getContentSize().height*1.5f)
{
bg2->setPositionY(bg1->getContentSize().height*1.5f);
}
}