设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1366|回复: 2
打印 上一主题 下一主题

[已经解决] 关于VX某地图名脚本移植到VA后的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2014-2-10
帖子
138
跳转到指定楼层
1
发表于 2014-5-2 17:48:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
这个脚本是一位大大由VX的某地图名显示脚本移植过来的,但是呢,这个脚本有一个问题,就是从第一个地图到另外一个地图,脚本不会刷新,地图名还是第一个地图的地图名,只有打开了菜单再关闭之后才会转换,求解...
@sh0016
RUBY 代码复制
  1. #==============================================================================
  2. # ★RGSS3
  3. # VA移植说明
  4. =begin
  5.   本脚本是在RGSS2的基础上改编完成的
  6.     会达到不走动时显示地图名的效果
  7.       ID白灵卿 (Yo)完成
  8.   转载或使用请注明改编者和出处
  9.  
  10. =end
  11. #==============================================================================
  12.  
  13. #==============================================================================
  14. # ★RGSS2
  15. # STR04_マップネーム表示 v1.1 09/03/17
  16. #
  17. # ・マップ画面にマップ名を表示します。
  18. # ・文字を縦グラデーション描画可能。
  19. # ☆マップ名のコメントアウト(?)機能付き。
  20. #  マップ名の"#"以降の文字をカットして表示します。
  21. #  (例) 炎の洞窟/二階#小部屋その1 → 炎の洞窟/二階
  22. # ・イベント中、歩行中に非表示にすることが出来ます。
  23. #------------------------------------------------------------------------------
  24. #
  25. # 更新履歴
  26. # ◇1.0→1.1
  27. # 入手インフォの下に表示される不具合を修正
  28. # デフォルトの設定を変更
  29. #
  30. #==============================================================================
  31. # ■ Sprite_Strmapname
  32. #==============================================================================
  33. class Sprite_Strmapname < Sprite
  34.   # マップネーム表示位置
  35.   #TEXT_RECT = Rect.new(20, 16, 240, 20)           # 左揃い
  36.    TEXT_RECT = Rect.new(272-280, 416-30, 200, 26)     # 中央揃い
  37.   #TEXT_RECT = Rect.new(544-336, 416-40, 320, 24)  # 右揃い
  38.    #TEXT_RECT = Rect.new(272-160, 16, 320, 24)
  39.   # フォントネーム
  40.   TEXT_FONT = ["微软雅黑", "MS Pゴシック"] # UmePlus優先
  41.   #TEXT_FONT = ["MS Pゴシック", "UmePlus Gothic"]  # MSPゴシック優先
  42.   # テキストサイズ
  43.   TEXT_SIZE = 22
  44.   # 文字装飾 [マップネーム前の文字,マップネーム後ろの文字]
  45.   TEXT_TEXT = [" ", ""]
  46.   # 文字揃え 0:左揃い 1:中央揃い 2:右揃い
  47.   TEXT_ALIGN =0
  48.   # テキスト縁取り true = 有効 false = 無効
  49.   TEXT_FRAME = true
  50.   # テキストグラデーション(縦) true = 有効 false = 無効
  51.   TEXT_GRADIENT = true
  52.   # テキストカラー [グラデーション↑,グラデーション↓,縁取り]
  53.   TEXT_COLOR = [Color.new(255,255,255), Color.new(160,224,255), Color.new(32,32,32)]
  54.   # 斜体・太字 true = 有効 false = 無効
  55.   TEXT_ITAL = false
  56.   TEXT_BOLD = false
  57.   # 簡易背景表示 true = 有効 false = 無効
  58.   TEXT_BACK = true
  59.   # 背景色 [グラデーション濃,グラデーション薄]
  60.   TEXT_B_COLOR = [Color.new(0,0,0,160), Color.new(0,0,0,0)]
  61.   # イベント中は非表示にする true = 有効 false = 無効
  62.   TEXT_EVENT_V = true
  63.   # プレイヤー移動中は非表示にする true = 有効 false = 無効
  64.   TEXT_PMOVE_V = true
  65.   # マップネームのコメントアウト文字 デフォルトは "#"
  66.   TEXT_C_OUT = "#"
  67.   #--------------------------------------------------------------------------
  68.   # ● オブジェクト初期化
  69.   #--------------------------------------------------------------------------
  70.   def initialize(viewport)
  71.     super(viewport)
  72.     t = TEXT_TEXT[0] + map_name(TEXT_C_OUT) + TEXT_TEXT[1]
  73.     self.visible = false if map_name(TEXT_C_OUT) == ""
  74.     r = TEXT_RECT
  75.     h = TEXT_SIZE + 2
  76.     bitmap = Bitmap.new(r.width, r.height)
  77.     # 背景描画
  78.     if TEXT_BACK
  79.       case TEXT_ALIGN
  80.       when 0
  81.         bitmap.gradient_fill_rect(16, 0, r.width-32, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  82.         bitmap.gradient_fill_rect(0, 0, 16, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  83.       when 1
  84.         bitmap.gradient_fill_rect(r.width/2, 0, r.width/2, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  85.         bitmap.gradient_fill_rect(0, 0, r.width/2, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  86.       when 2
  87.         bitmap.gradient_fill_rect(r.width-16, 0, 16, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  88.         bitmap.gradient_fill_rect(32, 0, r.width-48, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  89.       end
  90.     end
  91.     # フォント設定
  92.     bitmap.font.name = TEXT_FONT
  93.     bitmap.font.size = TEXT_SIZE
  94.     bitmap.font.italic = TEXT_ITAL
  95.     bitmap.font.bold = TEXT_BOLD
  96.     # 縁取り
  97.     bitmap.font.shadow = false
  98.     if TEXT_FRAME
  99.       bitmap.font.color = TEXT_COLOR[2]
  100.       bitmap.draw_text(-1, 0, r.width, h, t, TEXT_ALIGN)
  101.       bitmap.draw_text(1, 0, r.width, h, t, TEXT_ALIGN)
  102.       bitmap.draw_text(0, 1, r.width, h, t, TEXT_ALIGN)
  103.       bitmap.draw_text(0, -1, r.width, h, t, TEXT_ALIGN)
  104.       bitmap.draw_text(+1, +1, r.width, h, t, TEXT_ALIGN)
  105.     else
  106.       bitmap.font.shadow = true
  107.     end
  108.     # 文字A
  109.     b1 = Bitmap.new(r.width, r.height)
  110.     # フォント設定
  111.     b1.font.name = TEXT_FONT
  112.     b1.font.size = TEXT_SIZE
  113.     b1.font.italic = TEXT_ITAL
  114.     b1.font.bold = TEXT_BOLD
  115.     b1.font.color = TEXT_COLOR[0]
  116.     b1.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  117.     bitmap.font.shadow = false
  118.     src = Rect.new(0, 0, r.width, r.height)
  119.     d = Rect.new(0, 0, r.width, r.height)
  120.     bitmap.stretch_blt(d, b1, src)
  121.     # 文字B
  122.     if TEXT_GRADIENT
  123.       b2 = Bitmap.new(r.width, r.height)
  124.       # フォント設定
  125.       b2.font.name = TEXT_FONT
  126.       b2.font.size = TEXT_SIZE
  127.       b2.font.italic = TEXT_ITAL
  128.       b2.font.bold = TEXT_BOLD
  129.       b2.font.color = TEXT_COLOR[1]
  130.       b2.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  131.       y = TEXT_SIZE + 4
  132.       src.height = 1
  133.       d.height = 1
  134.       # グラデーション
  135.       for yy in 1..y
  136.         op = 260 * (yy/(y*1.0))
  137.         src.y = yy
  138.         d.y = yy
  139.         bitmap.stretch_blt(d, b2, src, op)
  140.       end
  141.     end
  142.     self.bitmap = bitmap
  143.     self.x = r.x
  144.     self.y = r.y
  145.     self.z = 240
  146.     [url=home.php?mod=space&uid=316553]@opacity[/url] = 0
  147.     self.opacity = @opacity
  148.     update
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 解放
  152.   #--------------------------------------------------------------------------
  153.   def dispose
  154.     if self.bitmap != nil
  155.       self.bitmap.dispose
  156.     end
  157.     super
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● フレーム更新
  161.   #--------------------------------------------------------------------------
  162.   def update
  163.     if ($game_map.interpreter.running? and TEXT_EVENT_V) or (moving? and TEXT_PMOVE_V)
  164.       @opacity = [[@opacity - 32, -64].max, 256].min
  165.     else
  166.       @opacity = [[@opacity + 32, -64].max, 256].min
  167.     end
  168.     self.opacity = @opacity
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 移動判定
  172.   #--------------------------------------------------------------------------
  173.   def moving?
  174.     return (not $game_player.stopping?)
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● マップネーム取得
  178.   #--------------------------------------------------------------------------
  179.   def map_name(out)
  180.     n = $game_map.map_name.split('')
  181.     t = ""
  182.     for i in 0...n.size
  183.       break if n[i] == out
  184.       t += n[i]
  185.     end
  186.     return t
  187.   end
  188. end
  189. #==============================================================================
  190. # ■ Spriteset_Map
  191. #==============================================================================
  192. class Spriteset_Map
  193.   #--------------------------------------------------------------------------
  194.   # ★ 追加
  195.   #--------------------------------------------------------------------------
  196.   def create_strmapname
  197.     @str_mapname = Sprite_Strmapname.new(@viewport2)
  198.   end
  199.   def dispose_strmapname
  200.     @str_mapname.dispose
  201.   end
  202.   def update_strmapname
  203.     @str_mapname.update
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ★ エイリアス
  207.   #--------------------------------------------------------------------------
  208.   alias initialize_str04 initialize
  209.   def initialize
  210.     create_strmapname
  211.     initialize_str04
  212.   end
  213.   alias dispose_str04 dispose
  214.   def dispose
  215.     dispose_str04
  216.     dispose_strmapname
  217.   end
  218.   alias update_str04 update
  219.   def update
  220.     update_str04
  221.     update_strmapname
  222.   end
  223. end
  224. #==============================================================================
  225. # ■ Game_Map
  226. #==============================================================================
  227. class Game_Map
  228.   #--------------------------------------------------------------------------
  229.   # ★ 追加
  230.   #--------------------------------------------------------------------------
  231.   def map_name
  232.     map = load_data("Data/MapInfos.rvdata2")
  233.     return map[@map_id].name
  234.   end
  235. end

本人的游戏主页:YBGame

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2014-5-2 20:19:12 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # ★RGSS3
  3. # VA移植说明
  4. =begin
  5.   本脚本是在RGSS2的基础上改编完成的
  6.     会达到不走动时显示地图名的效果
  7.       ID白灵卿 (Yo)完成
  8.   转载或使用请注明改编者和出处
  9.  
  10. =end
  11. #==============================================================================
  12.  
  13. #==============================================================================
  14. # ★RGSS2
  15. # STR04_マップネーム表示 v1.1 09/03/17
  16. #
  17. # ・マップ画面にマップ名を表示します。
  18. # ・文字を縦グラデーション描画可能。
  19. # ☆マップ名のコメントアウト(?)機能付き。
  20. #  マップ名の"#"以降の文字をカットして表示します。
  21. #  (例) 炎の洞窟/二階#小部屋その1 → 炎の洞窟/二階
  22. # ・イベント中、歩行中に非表示にすることが出来ます。
  23. #------------------------------------------------------------------------------
  24. #
  25. # 更新履歴
  26. # ◇1.0→1.1
  27. # 入手インフォの下に表示される不具合を修正
  28. # デフォルトの設定を変更
  29. #
  30. #==============================================================================
  31. # ■ Sprite_Strmapname
  32. #==============================================================================
  33. class Sprite_Strmapname < Sprite
  34.   # マップネーム表示位置
  35.   #TEXT_RECT = Rect.new(20, 16, 240, 20)           # 左揃い
  36.    TEXT_RECT = Rect.new(272-280, 416-30, 200, 26)     # 中央揃い
  37.   #TEXT_RECT = Rect.new(544-336, 416-40, 320, 24)  # 右揃い
  38.    #TEXT_RECT = Rect.new(272-160, 16, 320, 24)
  39.   # フォントネーム
  40.   TEXT_FONT = ["微软雅黑", "MS Pゴシック"] # UmePlus優先
  41.   #TEXT_FONT = ["MS Pゴシック", "UmePlus Gothic"]  # MSPゴシック優先
  42.   # テキストサイズ
  43.   TEXT_SIZE = 22
  44.   # 文字装飾 [マップネーム前の文字,マップネーム後ろの文字]
  45.   TEXT_TEXT = [" ", ""]
  46.   # 文字揃え 0:左揃い 1:中央揃い 2:右揃い
  47.   TEXT_ALIGN =0
  48.   # テキスト縁取り true = 有効 false = 無効
  49.   TEXT_FRAME = true
  50.   # テキストグラデーション(縦) true = 有効 false = 無効
  51.   TEXT_GRADIENT = true
  52.   # テキストカラー [グラデーション↑,グラデーション↓,縁取り]
  53.   TEXT_COLOR = [Color.new(255,255,255), Color.new(160,224,255), Color.new(32,32,32)]
  54.   # 斜体・太字 true = 有効 false = 無効
  55.   TEXT_ITAL = false
  56.   TEXT_BOLD = false
  57.   # 簡易背景表示 true = 有効 false = 無効
  58.   TEXT_BACK = true
  59.   # 背景色 [グラデーション濃,グラデーション薄]
  60.   TEXT_B_COLOR = [Color.new(0,0,0,160), Color.new(0,0,0,0)]
  61.   # イベント中は非表示にする true = 有効 false = 無効
  62.   TEXT_EVENT_V = true
  63.   # プレイヤー移動中は非表示にする true = 有効 false = 無効
  64.   TEXT_PMOVE_V = true
  65.   # マップネームのコメントアウト文字 デフォルトは "#"
  66.   TEXT_C_OUT = "#"
  67.   #--------------------------------------------------------------------------
  68.   # ● オブジェクト初期化
  69.   #--------------------------------------------------------------------------
  70.   def initialize(viewport)
  71.     super(viewport)
  72.     t = TEXT_TEXT[0] + map_name(TEXT_C_OUT) + TEXT_TEXT[1]
  73.     self.visible = false if map_name(TEXT_C_OUT) == ""
  74.     r = TEXT_RECT
  75.     h = TEXT_SIZE + 2
  76.     bitmap = Bitmap.new(r.width, r.height)
  77.     # 背景描画
  78.     if TEXT_BACK
  79.       case TEXT_ALIGN
  80.       when 0
  81.         bitmap.gradient_fill_rect(16, 0, r.width-32, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  82.         bitmap.gradient_fill_rect(0, 0, 16, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  83.       when 1
  84.         bitmap.gradient_fill_rect(r.width/2, 0, r.width/2, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  85.         bitmap.gradient_fill_rect(0, 0, r.width/2, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  86.       when 2
  87.         bitmap.gradient_fill_rect(r.width-16, 0, 16, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  88.         bitmap.gradient_fill_rect(32, 0, r.width-48, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  89.       end
  90.     end
  91.     # フォント設定
  92.     bitmap.font.name = TEXT_FONT
  93.     bitmap.font.size = TEXT_SIZE
  94.     bitmap.font.italic = TEXT_ITAL
  95.     bitmap.font.bold = TEXT_BOLD
  96.     # 縁取り
  97.     bitmap.font.shadow = false
  98.     if TEXT_FRAME
  99.       bitmap.font.color = TEXT_COLOR[2]
  100.       bitmap.draw_text(-1, 0, r.width, h, t, TEXT_ALIGN)
  101.       bitmap.draw_text(1, 0, r.width, h, t, TEXT_ALIGN)
  102.       bitmap.draw_text(0, 1, r.width, h, t, TEXT_ALIGN)
  103.       bitmap.draw_text(0, -1, r.width, h, t, TEXT_ALIGN)
  104.       bitmap.draw_text(+1, +1, r.width, h, t, TEXT_ALIGN)
  105.     else
  106.       bitmap.font.shadow = true
  107.     end
  108.     # 文字A
  109.     b1 = Bitmap.new(r.width, r.height)
  110.     # フォント設定
  111.     b1.font.name = TEXT_FONT
  112.     b1.font.size = TEXT_SIZE
  113.     b1.font.italic = TEXT_ITAL
  114.     b1.font.bold = TEXT_BOLD
  115.     b1.font.color = TEXT_COLOR[0]
  116.     b1.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  117.     bitmap.font.shadow = false
  118.     src = Rect.new(0, 0, r.width, r.height)
  119.     d = Rect.new(0, 0, r.width, r.height)
  120.     bitmap.stretch_blt(d, b1, src)
  121.     # 文字B
  122.     if TEXT_GRADIENT
  123.       b2 = Bitmap.new(r.width, r.height)
  124.       # フォント設定
  125.       b2.font.name = TEXT_FONT
  126.       b2.font.size = TEXT_SIZE
  127.       b2.font.italic = TEXT_ITAL
  128.       b2.font.bold = TEXT_BOLD
  129.       b2.font.color = TEXT_COLOR[1]
  130.       b2.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  131.       y = TEXT_SIZE + 4
  132.       src.height = 1
  133.       d.height = 1
  134.       # グラデーション
  135.       for yy in 1..y
  136.         op = 260 * (yy/(y*1.0))
  137.         src.y = yy
  138.         d.y = yy
  139.         bitmap.stretch_blt(d, b2, src, op)
  140.       end
  141.     end
  142.     self.bitmap = bitmap
  143.     self.x = r.x
  144.     self.y = r.y
  145.     self.z = 240
  146.     @opacity= 0
  147.     self.opacity = @opacity
  148.     update
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 解放
  152.   #--------------------------------------------------------------------------
  153.   def dispose
  154.     if self.bitmap != nil
  155.       self.bitmap.dispose
  156.     end
  157.     super
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● フレーム更新
  161.   #--------------------------------------------------------------------------
  162.   def update
  163.     if ($game_map.interpreter.running? and TEXT_EVENT_V) or (moving? and TEXT_PMOVE_V)
  164.       @opacity= [[@opacity- 32, -64].max, 256].min
  165.     else
  166.       @opacity= [[@opacity+ 32, -64].max, 256].min
  167.     end
  168.     self.opacity= @opacity
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 移動判定
  172.   #--------------------------------------------------------------------------
  173.   def moving?
  174.     return (not $game_player.stopping?)
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● マップネーム取得
  178.   #--------------------------------------------------------------------------
  179.   def map_name(out)
  180.     n = $game_map.map_name.split('')
  181.     t = ""
  182.     for i in 0...n.size
  183.       break if n[i] == out
  184.       t += n[i]
  185.     end
  186.     return t
  187.   end
  188. end
  189. #==============================================================================
  190. # ■ Spriteset_Map
  191. #==============================================================================
  192. class Spriteset_Map
  193.   #--------------------------------------------------------------------------
  194.   # ★ 追加
  195.   #--------------------------------------------------------------------------
  196.   def create_strmapname
  197.     @str_mapname = Sprite_Strmapname.new(@viewport2)
  198.   end
  199.   def dispose_strmapname
  200.     @str_mapname.dispose
  201.   end
  202.   def update_strmapname
  203.     @str_mapname.update
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ★ エイリアス
  207.   #--------------------------------------------------------------------------
  208.   alias initialize_str04 initialize
  209.   def initialize
  210.     create_strmapname
  211.     initialize_str04
  212.   end
  213.   alias dispose_str04 dispose
  214.   def dispose
  215.     dispose_str04
  216.     dispose_strmapname
  217.   end
  218.   alias update_str04 update
  219.   def update
  220.     update_str04
  221.     update_strmapname
  222.   end
  223.   alias refresh_characters_str04 refresh_characters
  224.   def refresh_characters
  225.     refresh_characters_str04
  226.     dispose_strmapname
  227.     create_strmapname
  228.   end
  229. end
  230. #==============================================================================
  231. # ■ Game_Map
  232. #==============================================================================
  233. class Game_Map
  234.   #--------------------------------------------------------------------------
  235.   # ★ 追加
  236.   #--------------------------------------------------------------------------
  237.   def map_name
  238.     map = load_data("Data/MapInfos.rvdata2")
  239.     return map[@map_id].name
  240.   end
  241. end

评分

参与人数 1星屑 +50 收起 理由
子弹君 + 50 Σ(っ °Д °;)っ 一上线六条提醒...

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2014-2-10
帖子
138
3
 楼主| 发表于 2014-5-2 21:30:22 | 只看该作者
Sion 发表于 2014-5-2 20:19
#==============================================================================
# ★RGSS3
# VA移植说 ...

感谢,成功了!

本人的游戏主页:YBGame
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-2-23 07:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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