Project1

标题: 【XP】自己修改的小地图脚本出现问题 [打印本页]

作者: 枪胜贤者    时间: 2011-12-11 20:49
标题: 【XP】自己修改的小地图脚本出现问题
本帖最后由 枪胜贤者 于 2011-12-13 18:08 编辑

小地图.zip (430.87 KB, 下载次数: 111)
作者: 七夕小雨    时间: 2011-12-12 13:13
附件下不下来,口述吧~ 好好检查一下有visible属性的相关的对象,然后推测一下变量名,这样的小地图一般都是精灵对象+窗口对象(其实窗口对象也是由精灵对象组成的)组成的,也有精灵+精灵组成的,绝对不会只有一个简单的窗口或者精
作者: zhangbanxian    时间: 2011-12-12 13:21
七夕小雨 发表于 2011-12-12 13:13
附件下不下来,口述吧~ 好好检查一下有visible属性的相关的对象,然后推测一下变量名,这样的小地图一般都 ...

- -b是这样么?我怎么记得自建类里窗口和精灵是完全两样的东西,说他们都包含了一个bitmap对象倒是差不多...算了,反正我的电脑里已经没装rm了,无处查证鸟...
作者: 七夕小雨    时间: 2011-12-12 13:52
本帖最后由 七夕小雨 于 2011-12-12 14:00 编辑
zhangbanxian 发表于 2011-12-12 13:21
- -b是这样么?我怎么记得自建类里窗口和精灵是完全两样的东西,说他们都包含了一个bitmap对象倒是差不多 ...


哦?我记得bitmp在画面上显示的话,必须使用精灵类的对象。

- =不过我看了帮助文档,两个确实是不搭杆的两个对象,只是用了相同的端口……可能真的误人子弟了
作者: 枪胜贤者    时间: 2011-12-12 16:53
@七夕小雨@zhangbanxian
脚本发上来了,请两位大大帮忙看看
作者: 七夕小雨    时间: 2011-12-12 22:03
本帖最后由 七夕小雨 于 2011-12-12 22:04 编辑

哎~经过这么多问题都没有学会怎么自如修改脚本嘛?

或许LZ真的思考了,但真的不是个善于思考的人,这是我帮你的最后一个这种傻瓜问题,也会好好讲解一下修改思路,毕竟受人鱼不如受人渔嘛~希望下次能看你提点稍微包含点自己尝试修改很长时间却没有成功影子的问题在里面

首先这个脚本在前期定义中就有写

  ON_OFF_KEY  = Input::A          # 打开地图的按钮,A就是键盘的Z键

这样的一个东西~ 把 ON_OFF_KEY扔进搜索 搜索得到

if Input.trigger?(PLAN_Map_Window::ON_OFF_KEY)

改成if $game_switches[X] #X为开关数组的序列编号即开关编号或者开关ID

这样其实就改好了,
但是这个的显示和消失是写在update方法里面的,
所以会看到画面来回不断的刷新,为什么原来的判定就不会呢?因为按键只会判定按下一次,改成这样就好比一直按着Z一直来回跳动一样~

那么这里有两个方法,1、制作特殊开关标志,2、将两个部分分开~
那么我来用比较容易懂得将两个部分分开吧

原代码

if $game_switches[10]==true
        if @map_window.visible
          $game_system.se_play($data_system.cancel_se)
          @map_window.visible = false
          $game_switches[PLAN_Map_Window::MAP_VISIBLE]= false
          $game_switches[PLAN_Map_Window::MAP_SWITCH] = false
          $game_variables[PLAN_Map_Window::MAP_DIRECTION] = $direction
        else
          $game_system.se_play($data_system.decision_se)
          @map_window.visible = true
          $game_switches[PLAN_Map_Window::MAP_VISIBLE]= true
          @xy_window.visible = $game_switches[PLAN_Map_Window::WINDOW_XY]
          @xy_window.refresh if @xy_window.visible
          @back.visible = $game_switches[PLAN_Map_Window::WINDOW_XY]
        end
end

修改后

if !$game_switches[10]
        @map_window.visible = false
        $game_switches[PLAN_Map_Window::MAP_VISIBLE]= false
        $game_switches[PLAN_Map_Window::MAP_SWITCH] = false
        $game_variables[PLAN_Map_Window::MAP_DIRECTION] = $direction
      else
        @map_window.visible = true
        $game_switches[PLAN_Map_Window::MAP_VISIBLE]= true
        @xy_window.visible = $game_switches[PLAN_Map_Window::WINDOW_XY]
        @xy_window.refresh if @xy_window.visible
        @back.visible = $game_switches[PLAN_Map_Window::WINDOW_XY]
      end

这里把音效的SE删除掉了~否则会一直嘟嘟嘟的响,因为每次画面刷新都会进入这个判定,没有杂音了~当然,这其实并不是很好的修改方法,我也偷懒了吧~LZ就自己找找更好的修改方法吧




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