Project1

标题: 讨论一下在游戏中大面积更改地图图块的方法 [打印本页]

作者: raketenfaust02    时间: 2016-7-24 02:00
标题: 讨论一下在游戏中大面积更改地图图块的方法
本帖最后由 raketenfaust02 于 2016-7-24 02:11 编辑

小范围的地形改变当然可以直接用事件来实现,但如果需要改变较大面积区域的图块时,用事件的效率就太低了。
例如我要做一个事件,在空旷地图上添加一条36x3横贯地图的道路,贴108个事件上去显然不太现实,所以需要更简单有效的方式来实现这一效果。

目前思路如下:

思路1:通过addChild函数绘制,但我不知道代码具体应该怎样写
思路2:通过setData函数在保留事件不变的情况下读取另一张地图json文件中的data数组,但我也写不出这段代码
思路3:使用show picture事件,把路面作为图片贴上去。问题在于事件贴的图片默认在最上层,所以需要通过代码改变图片层次,问题是我不知道怎么实现。
思路4:利用change tileset事件变更整个地图的图块组,缺点是会比较无谓地增加资源量。而且在变更比较复杂(例如沙盒建设类)时不适用。
思路5:将需要改变的元素成组制作成尺寸较大的Charactor,以用较少的事件量实现地形改变,算是技术门槛比较低的解决方法,但在沙盒建设之类复杂情况下仍会占用大量事件量。
思路6:放弃图块,用parallax BG把地表整个替换掉,问题仍然是无法进行复杂的变动。


各位大触帮忙看看能不能有个方法解决这问题
作者: 汪汪    时间: 2016-7-24 10:49
本帖最后由 汪汪 于 2016-7-24 10:52 编辑


沉滞的剑 的
HCEventSheriff 事件动态管理

我的
【自用+求测】地图的修改(20160315_1.2)
作者: tseyik    时间: 2016-7-24 12:04
SupponChangeTileId1.04
https://rpg.blue/forum.php?mod=viewthread&tid=394021


作者: raketenfaust02    时间: 2016-7-24 17:00
本帖最后由 raketenfaust02 于 2016-7-24 19:50 编辑
tseyik 发表于 2016-7-24 12:04
SupponChangeTileId1.04
https://rpg.blue/forum.php?mod=viewthread&tid=394021


地图ID应该用什么?例如默认的MAP001,ID是MAP001还是1?

另外和YEP Core Engine冲突,运行的时候报错“undefined is not function”。
JAVASCRIPT 代码复制
  1. TypeError: undefined is not a function
  2.     at Game_Interpreter.Window_Base.convertEscapeCharacters (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/plugins/YEP_MessageCore.js:600:15)
  3.     at Game_Interpreter.<anonymous> (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/plugins/SupponChangeTileId.js:289:68)
  4.     at Array.map (native)
  5.     at Game_Interpreter.pluginCommand (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/plugins/SupponChangeTileId.js:288:23)
  6.     at Game_Interpreter.command356 (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/rpg_objects.js:10447:10)
  7.     at Game_Interpreter.executeCommand (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/rpg_objects.js:8897:34)
  8.     at Game_Interpreter.update (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/rpg_objects.js:8805:19)
  9.     at Game_Map.updateInterpreter (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/rpg_objects.js:6082:27)
  10.     at Game_Map.update (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/rpg_objects.js:5989:14)
  11.     at Game_Map.update (file:///C:/Users/Raketenfaust/Documents/Games/Project1/js/plugins/SupponChangeTileId.js:366:31)





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1