rpg制作大师吧 关注:78,967贴子:428,476

【事件系统教程】纯事件的华丽的选人系统详细制作方法

只看楼主收藏回复


注明:教程由SC24a-ws.s提供,我们不生产范例,我们只教授方法。
(from Project 《灵魂欠片》 )
这是一个可以自由选择队友,然后进行探索的系统。
默认来说4人组成一支队伍。
以下是预览图,不使用任何外挂脚本完成。


IP属地:河南1楼2014-07-31 13:06回复
    由于有可操作12个角色,可以制成轮盘的样式来选择,由于一般队伍就4个人,所以这里
    可以选择的人也为4个,这样基本的概念图A 就完成了。

    这样选择过于单调,可以增加一些信息,选择的角色立绘和一些能力信息。

    接下来制作出,这两个部分的指针
    突然想到了的,如果队列是有顺序的,那么排列时可以有一些特殊效果。
    特殊效果被我取名为“符文”。

    OK了,概念图基本完成。接来下就是依靠 RMVA 做出能够让玩家控制选择的系统了。


    IP属地:河南2楼2014-07-31 13:11
    回复
      2025-07-27 07:10:33
      广告
      不感兴趣
      开通SVIP免广告
      最麻烦的是素材处理了,我用了3个小时才将概念图用PS来分层制作,并打散成小部件。
      这样就将概念图转换为RPG Maker Vx ace 可以使用的素材形式
      由于没有定位图片角度等功能,只能使用图片切换来表示旋转的指针,这是事件党的悲伤QAQ。


      战斗轮-角色3
      战斗轮-选择11
      这样的命名规则是为了使后面的图片显示方便
      事件脚本:
      da = 指定变量名
      $game_map.screen.pictures[20].show(
      "战斗轮-选择#{da}", 0, 0,0, 0, 100, 0,0)
      如果指定变量等于3 那么图片就可以显示出 战斗轮-选择3 这个图片。
      这样就不用傻傻的使用条件分支来显示了。


      IP属地:河南3楼2014-07-31 13:15
      收起回复
        那么到了核心系统的编写:
        首先定义开关1~12(控制角色是否存在)
        再定义变量 一~四号队友孔的变量
        然后定义 队友位置指针 和 圆盘指针 和 计算符文变量号
        队友位置指针是判定上面小指针的位置
        圆盘指针式是判定圆盘上的大指针的位置



        IP属地:河南4楼2014-07-31 13:17
        回复
          开始编写启动事件:
          如果角色没有入手,那么轮盘上就不能选择这个角色(对应开关OFF时)

          这就是基本的显示图:

          继续制作下去

          #目前图片的光标位置需要知道画面对应的位置,其他的默认为 左上(0,0)方便很多。
          获取画面位置比较消耗时间= =
          因为我的游戏默认主角1为必选,所以将ID=1的改成了删除功能
          实际上ID=1也是一个角色,不过这个角色为 空 。
          如果需要12个角色 可以改成B键清除,效果一样的。

          空位表示角色未获得。


          IP属地:河南5楼2014-07-31 13:23
          回复
            制作完选择后,就是判定功能
            默认 C 键按下时 决定 当前队伍序号对应的角色。

            以下是灵魂选择核心1的内容,用于逻辑选择的 玩家控制错误判定,让错误的行为不发生。
            核心1判定的是 是否在其他队友位 已经选择了当前要选的角色。

            #注意:这里对圆盘指针ID判定为大于1 是因为我把 1 当做了 不选择队友的情况
            如果你想使用B键清除已经选择的队友,一开始的一二三四号队友 需要全部代入0而不是1
            B键清除的设置只要将当前号队友 改成 0。


            IP属地:河南7楼2014-07-31 13:36
            回复
              队伍符卡就简单多了:

              剩下就是加个判定 一号位 二号位 三号位 四号位
              让对应ID的队友加入进队伍即可。(建议新手考虑循环处理,而不是每一个都去弄分支)



              IP属地:河南8楼2014-07-31 13:46
              回复
                ========================================================
                完结:
                如果有无法理解的,在对应楼层提问。
                ========================================================


                IP属地:河南9楼2014-07-31 13:48
                回复
                  2025-07-27 07:04:34
                  广告
                  不感兴趣
                  开通SVIP免广告
                  完全看不懂,不过等着玩呢


                  来自Android客户端10楼2014-07-31 13:50
                  收起回复
                    好复杂,辛苦。


                    11楼2014-07-31 14:13
                    回复
                      无法理解。。前排挽尊


                      IP属地:江苏来自Android客户端12楼2014-07-31 15:31
                      收起回复
                        虽然对我没什么用不过辛苦了


                        来自Android客户端14楼2014-07-31 16:45
                        回复
                          辛苦,但是如果不拿出个范例,但那事件截图的话,有点让人不好理解。【嘴贱,说错无视】


                          15楼2014-07-31 20:01
                          收起回复
                            琢磨出这么多东西,脚本你已经学会并且写出来了…………


                            IP属地:广东16楼2014-08-01 14:53
                            收起回复
                              2025-07-27 06:58:34
                              广告
                              不感兴趣
                              开通SVIP免广告


                              IP属地:英国17楼2014-08-01 16:56
                              回复