Project1

标题: 【改造发布】XP/VX/VA通行度显示 [打印本页]

作者: 怪蜀黍    时间: 2018-3-31 00:27
标题: 【改造发布】XP/VX/VA通行度显示

这个脚本原作者是小J@fux2
发布的年代较早,所以只有XP和VX通用版本,现在我开VA的坑了,所以把这个脚本改造了一下,添加了VA通行度显示,然后发布出来分享一下。
原始版本请参考小J的此帖:https://rpg.blue/thread-187850-1-1.html
VA截图效果如下:

RUBY 代码复制
  1. # 地图通行度显示 by fux2 ,[url]https://rpg.blue/?65553[/url]
  2. # 在原脚本的基础上增加VA通行度显示 by P叔 2018-03-31 (托小J的福,照葫芦画瓢)
  3. "P叔:来人呐,快把小J绑起来。"
  4. # XP,VX,VA通用,游戏中按F5开启通行显示,可以自由修改
  5. $showpass = false
  6. $fuxver = self
  7. module Fux2
  8.   BUTTON = "F5" # 快捷键,在游戏中按下开启本脚本功能
  9.   VER = defined?(msgbox()) ? "VA" : ($fuxver ? "VX" : "XP")
  10.   OPACITY = 150 # 显示通行度图层的透明度(0-255)
  11.  
  12.  
  13.   # 下面请勿随意修改
  14.   BLOCK = {"XP"=>{2=>["↓",8,8],4=>["←",0,0],6=>["→",16,0],8=>["↑",8,-8]},
  15.            "VX"=>{2=>["",0,0],4=>["",0,0],6=>["",0,0],0x08=>["",0,0]},
  16.            "VA"=>{2=>["↓",8,8],4=>["←",0,0],6=>["→",16,0],8=>["↑",8,-8]},
  17.           }
  18.   SET = { "XP"=>[4,Color.new(100,0,100,OPACITY),[2,4,6,8]],
  19.           "VX"=>[8,Color.new(255,0,0,OPACITY),[1]],
  20.           "VA"=>[0.03125,Color.new(100,0,100,OPACITY),[2,4,6,8]],
  21.         }
  22. end
  23.  
  24. class Spriteset_Map
  25.  
  26.   include Fux2
  27.  
  28.   alias:ini:initialize
  29.   def initialize
  30.     @passble = Sprite.new
  31.     @passble.z = 99999999
  32.     @passble.x = -$game_map.display_x/4
  33.     @passble.y = -$game_map.display_y/4
  34.     @passble.bitmap = Bitmap.new($game_map.width*32,$game_map.height*32)
  35.     @passble.bitmap.font.size = 16
  36.     @passble.bitmap.font.color = Color.new(255,255,255,200)
  37.     for px in 0...$game_map.width
  38.       for py in 0...$game_map.height
  39.         temp = []
  40.         SET[VER][2].each do |i|
  41.           temp << i if $game_map.passable?(px,py,i)
  42.         end
  43.         if temp == SET[VER][2]
  44.           @passble.bitmap.fill_rect(px*32,py*32,32,32,Color.new(0,0,255,OPACITY))
  45.         elsif temp == []
  46.           @passble.bitmap.fill_rect(px*32,py*32,32,32,Color.new(255,0,0,OPACITY))
  47.         else
  48.           @passble.bitmap.fill_rect(px*32,py*32,32,32,SET[VER][1])
  49.           temp.each do |j|
  50.             @passble.bitmap.draw_text(px*32+BLOCK[VER][j][1],py*32+BLOCK[VER][j][2],32,32,BLOCK[VER][j][0])
  51.           end
  52.         end
  53.       end
  54.     end
  55.     ini
  56.   end
  57.  
  58.   alias:ud:update
  59.   def update
  60.     ud
  61.     @passble.visible = $showpass
  62.     @passble.x = -$game_map.display_x/SET[VER][0]
  63.     @passble.y = -$game_map.display_y/SET[VER][0]
  64.     @passble.update
  65.   end
  66.  
  67.   alias:dis:dispose
  68.   def dispose
  69.     dis
  70.     @passble.dispose
  71.   end
  72.  
  73. end
  74.  
  75. class Scene_Map
  76.  
  77.   alias:ud:update
  78.   def update
  79.     ud
  80.     eval("$showpass = !$showpass if Input.trigger?(Input::#{Fux2::BUTTON})")
  81.   end
  82.  
  83. end
  84.  
  85. # rpg.blue

作者: sq333333    时间: 2018-3-31 08:13
VA地图显示层有时会显示不全
作者: fux2    时间: 2018-3-31 19:19
啊,这东西已经很过时了,我自己现在用的是新建一个tilemap……
无论是效率还是什么方面都比画图高多了。




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