Project1

标题: VA有把当前地图转存为PNG图片的插件吗? [打印本页]

作者: nhycs01    时间: 2025-6-11 21:32
标题: VA有把当前地图转存为PNG图片的插件吗?
MV自带这个功能,但是VA没有啊,请问有类似的插件吗?
作者: 百里_飞柳    时间: 2025-6-11 22:55
https://rpg.blue/thread-477828-1-1.html
https://rpg.blue/thread-480838-1-1.html

不过都是针对一般大小的地图,如果太大了可能会出问题
作者: nhycs01    时间: 2025-6-12 11:51
百里_飞柳 发表于 2025-6-11 22:55
https://rpg.blue/thread-477828-1-1.html
https://rpg.blue/thread-480838-1-1.html

大佬,我试了一下这个插件,确实好用。
但是有一点,这个截图会把地图上事件也截下来。
请问能否可以只截图地图的图块,不截图事件呢?
作者: 百里_飞柳    时间: 2025-6-12 21:12
nhycs01 发表于 2025-6-12 11:51
大佬,我试了一下这个插件,确实好用。
但是有一点,这个截图会把地图上事件也截下来。
请问能否可以只截 ...

你可以在 def map_shop 方法里,效仿它隐藏玩家的做法,把其它事件也隐藏了,修改如下:
  1.   def map_shop
  2.     # 修改:地图事件隐藏
  3.     last_event_trans = {}  # id => bool
  4.     $game_map.events.each { |id, e| last_event_trans[id] = e.transparent; e.transparent = true }
  5.    
  6.     # プレイヤーを非表示
  7.     last_player_transparent = $game_player.transparent
  8.     $game_player.transparent = true
  9.     # マップの撮影
  10.     bitmap = Bitmap.new($game_map.width * 32, $game_map.height * 32)
  11.     screen_width = $game_map.screen_tile_x
  12.     screen_height = $game_map.screen_tile_y
  13.     ($game_map.width / screen_width.to_f).ceil.times do |x|
  14.       ($game_map.height / screen_height.to_f).ceil.times do |y|
  15.         $game_map.set_display_pos(screen_width * x, screen_height * y)
  16.         @spriteset.update_snap
  17.         dx = $game_map.display_x * 32
  18.         dy = $game_map.display_y * 32
  19.         snap = Graphics.snap_to_bitmap
  20.         bitmap.blt(dx, dy, snap, snap.rect)
  21.       end
  22.     end
  23.     # マップ画像の保存
  24.     Graphics.update
  25.     filename = sprintf('ground%03d-1.png', $game_map.map_id,$game_map.display_name)
  26.     bitmap.save_png(filename)
  27.     puts "`#{filename}' 保存完了!"

  28.     # 修改:地图事件复原
  29.     $game_map.events.each { |id, e|  e.transparent = last_event_trans[id]; e.update }
  30.    
  31.     # プレイヤーの状態を戻す
  32.     $game_player.transparent = last_player_transparent
  33.     $game_player.center($game_player.x, $game_player.y)
  34.     $game_player.update
  35.   end
复制代码





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