查看: 98|回复: 0

[转载发布] 大地图循环+五交通工具2.0

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 33 天

    连续签到: 1 天

    [LV.5]常住居民I

    2022

    主题

    32

    回帖

    7144

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5074
    OK点
    16
    积分
    7144
    发表于 同元一千年八月八日(秋) | 显示全部楼层 |阅读模式
    Hi,好久没来这里了……已经完全大变样了……
    版主也全都不怎么认识了……
    不知道贴子应该怎么发了。。如果有做错,请多包涵。

    自己前阵子不小心翻出了自己N年前做的那个通用性极差、做起来极其麻烦的纯事件版大地图循环+五交通工具,对自己当年无比的耐心和奇葩的想法感到十分的……那啥。
    于是乎自己就想用正常人类的方式把这个再做一次看看。

    范例主要包括两个部分:
    1、循环大地图: 就是和VX里一样的那种,走不到尽头的大地图。
    2、五交通工具:
        a.浅水船,只能在河流中通行;还包括一个携带船,可以带在身上随时使用。来自FF2
           b.海水船,只能在海中通行;
           c.企业号:可以从船变成飞船,再从飞船变成船,但是不能在陆地着陆; 来自FF3
           d.深海螺号:可以在天上高速飞行,可以潜海,在海里通行。来自FF3
           e.巨鲸号:有内部视角的飞船。可以翻过山飞行。虽然最初出现在FF3,但是这名字却来自FF4……




    范例工程:
    猛击下载

    一些杂七杂八的说明(建议运行看一下范例的效果,再看下面的说明……这些说明基本在范例里也有):
    1. 循环大地图可能有bug,但是我懒得再往深研究了。目前的建议是:不要在大地图最边缘的一圈上面设置任何可见的事件。可能有触发事件bug。不要让NPC穿越地图边缘,可能也有bug。而非循环大地图的地图,则和以前一样,没有这些顾虑。
    2. 脚本里加★的地方是改动的地方。BigMap_Vehicle和“各种配置”这两个脚本是我新加的。如果想移到自己的游戏里用,前者不用改,后者应该需要改。
    3. 大地图注意事项:地图尺寸要够大,最起码得超出一个屏幕的大小……不然也不叫大地图了。注意大地图左边缘和右边缘要能接在一起,上边缘和下边缘也是。这是美工的问题了……
    4.想让某张地图变成循环大地图,必须在“各种配置”里把大地图的ID加到$bigMapId这个数组里。加进去之后,地图的详细信息存在$vehOnMap这个哈希表里,比如只需要用$vehOnMap[4],就可以访问4号大地图的信息。
    5. 如果有深海螺号的话,就必须有一个水下的地图。用addSubMap(id)这个方法就可以配置了。水下地图的注意事项,很明显……它必须和大地图本身是完全同步的,大小尺寸,图块坐标位置等。不然实际效果会变得无比销魂。
    6.再就是设置地形。我一共划了4种地形。是用地形标记来区分的。存在数组里。
        浅水地形——terrain_river 浅水船可通行,海船不可通行。其他飞船可通行。但是深海螺在海底时,不能从浅水地形中上浮。
        海地形——terrain_sea 浅水船不可通行,海船可通行。其他飞船可通行。深海螺在海底时,可以从海地形中上浮。
        山地形——terrain_mount 只有巨鲸号可通行。深海螺号在海底也不可通行。
        森林地形——terrain_forest 不可以在此降落的地形。人物不乘坐交通工具时可以通行。
    具体这些对应了哪些地形标记,可以在“各种配置”里改。
    7. 如果飞船的下面有一个事件,无论这个事件可不可见,都无法着陆。之所有设计成这样是因为……我暂时想不出来其他更好的设计了……有好主意的话,可以留言告诉俺一声。
    8. 当主角得到一个交通工具时,需要将它初始化。用事件脚本:$big_map.changeVeh(事件id, x, y),这样在大地图的某个位置上,就会视一个事件为交通工具。存档读档地图切换时,系统都会自动处理它,再就不用操心了。想把这个交通工具永远删除,也要用这个方法。只不过把x或y设成负数就OK了。
    9. 当人物乘上交通工具时,一定要记得加上两行事件脚本:
        $big_map.status = xxx
        $big_map.usingEvent = xxx
    第一个是指目前的乘降状态。-1是什么也不乘,0是浅水船,1是海船,2是企业号 3是深海螺 4是海底 5是巨鲸。乘上时务必记得改这个值。不然脚本也没办法知道你坐上的是什么东西,下来时就不用改了,脚本里会自动改回-1。
    而$big_map.usingEvent这个,是用来记录你作为交通工具使用的事件是哪个。看一下左上角的事件ID,填进去就可以。
    10. 当角色在大地图上乘坐交通工具时,地图上的全部事件仍然是可以触发的。如果你开着一个飞空艇却钻进一个城镇里,就非常斯巴达了(更斯巴达的是之后还会出现恶性bug……)所以记得要给大地图上的全部事件加上一个条件分歧的判断:$big_map.status==-1 只有什么东西也不乘的时候,才会触发事件。也可以以此作一些特殊的设计。比如只有巨鲸号能进入的城镇,就是$big_map.status==5
    11. 携带船是用物品控制的。当主角拥有某一物品时,就可以用携带船了。物品ID也在“各种配置”里设置。而企业号可否飞空,深海螺可否潜海,这些都是用开关控制的,看一下就知道
    了。很简单。开关号也可以自己配置



    再就是我今天发现好像偶尔会出现坐标记录上的bug……我改了改之后,就再也没出现了。因为是偶尔出现的bug,所以我也不知道是真的消灭了,还是仍然存在……= =
    如果你发现任何其他bug,欢迎报告。感谢。
                 本帖来自P1论坛作者匈魔剑,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=252970  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-3 09:06 , Processed in 0.048769 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表