就是灵活,黑小孩完全可以看做是Creator的地图编辑版,生成的JS文件实际就是在动态加载每个素材,new出Node然后添加到舞台上。其中在进行池对像和场外删除计算时,我最大保留了可控性。图层是个空node,里面的块图是node+sprite,画出来的图形是node+Graphics等等。里面一切皆对像,而非tiledMap一个对像。
优点有很多,但我只说已经实现的
1.由大往小看,黑小孩每个图层,都能当做一个tiledMap来看,程序运行完毕后,可以将不需要显示的图层parent=null掉,程序将自动忽略该图层的计算。
2.图层之间,完全可以异步移动,比如图层1的x+=1, 图层2的x-=1。或者图层1的y+=1, 图层2的y+=0.5。
3.可以随义向每个你图层node中添加任意对像。
4.可以自由切换每个Node的Z轴顺顺序,这个Z轴顺序,是指所有。比如,有一个人物,可以添加到图层1node与图层2node之间,也可以添加到图层1之中的,某个子图块node的上面或下面。
5.黑小孩只需建一个项目,即可完成对地图的近乎所有的需求。以上1,2,3,4加起来,横版地图就不说了。比如,建了一个RPG的项目,角色到了一个城镇,黑小孩之中是完全可以将所有的城镇信息建出来的,包括城镇之中每个内部房间的信息。然后只需在初始化之时将所有房间的图层node.parent=null掉,再在进入某个房子之时,将该房间的图层node显示出来,将其它的隐藏掉。并把角色添加到该房间的所有图层node的地面平行层之中,进行角色和墙体碰撞,以及Z轴计算。这些都可以一气完成,根本不用再做个场景,甚至不用进行场景切换。
再有就是设计方面,也是我打算做黑小孩的原因,tiled我只有用了一天,也不知道说的对不对。其中两点很不舒服,第一tiled新建地图,图块只能固定大小。导入的素材,也只能固定大小分割,很死板。第二,可能是一个bug,我再在导入某个图片素材时,因为中间有一像素的透明,在tiled填充时,也会有一像素透明。导致我做了很多多余的处理。
于是,我在做黑小孩时,改用了plist文件进行分割图片,以及每个图层都可以重置图块地形大小。再有就是我做黑小孩的目的,我希望它,在保证一定品质下,一个星期可以做到量产二到三个游戏。