如果不嫌弃的话,其实写到上一个章节就可以玩了,不过没什么意思啊..
今天开始给游戏加地图。
地图编辑器,我就不用说了,创建一个简单的跑酷地图是很简单的,特别是如果你熟悉ps你会发现快捷键都是一样的。
做了一个简单的地图,就像天天酷跑那样的平面地图。用几句话加到我们的程序里面。
map=CCTMXTiledMap::create("map.tmx");
当然不要忘记在h文件中定义。
基本思想是地图一直要向左移动,那么我们肯定要知道控制地图的坐标,让x坐标每一秒向左移动10个距离。
我们先设出地图的xy。
mapx=100;
mapy=100;
至于怎么定时移动,我使用的是schedule,我亲切的叫他加队列函数。节点或者层只要加到队列里面,就会在每一帧执行updat函数,当然也可以执行自定义函数,我就写了自己的自定义回执函数mapUpdat。
this->schedule(schedule_selector(Stage::mapUpdat),0.01f);
这样,我把现在的这个层加到队列里面,然后回执函数也是我自己写的,是mapUpdat。定义如下
void Stage::mapUpdat(float fDelta)
{
mapx=mapx-10;
map->setPosition(mapx,mapy);
}
这样就在单线程的前提下完成了地图的移动。