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

Project1

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

[已经解决] 求一个切换地图显示地图名的脚本的帖子

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2013-4-27
帖子
25
跳转到指定楼层
1
发表于 2013-4-28 23:27:54 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
如题。
那个帖子有张截图,画面中间显示“基友小镇the town of gays”,当时没有收藏下来,甚是后悔。不知道有没有人见过?多谢了!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2013-4-27
帖子
25
8
 楼主| 发表于 2013-4-30 13:33:11 | 只看该作者
ali 发表于 2013-4-29 17:43
#==============================================================================
# ★RGSS2
# STR04_ ...

谢谢你!

顺便问一下,你知道VX横版的 弓箭射击 脚本吗?

我不知道我有没有表达清楚,

我搜到一个RPG Tankentai SBS 3.4d & ATB 1.2c (Kaduki Demo),想将里面的弓箭射击移到另一个工程,大概有哪几个步骤呢?

如果有空的话请告诉一下,我才接触两天,谢谢哈~

另外,不知道能不能在原帖追问,如果不行我重新发个贴好了。有不合规矩的地方请多包涵。

点评

ali
不知道。。。  发表于 2013-4-30 13:36
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1408
在线时间
206 小时
注册时间
2013-2-3
帖子
629
7
发表于 2013-4-29 17:43:49 | 只看该作者
#==============================================================================
# ★RGSS2
# STR04_マップネーム表示 v1.0
# サポート:http://otsu.cool.ne.jp/strcatyou/
# ・マップ画面にマップ名を表示します。
# ・文字を縦グラデーション描画可能。
# ☆マップ名のコメントアウト(?)機能付き。
#  マップ名の"#"以降の文字をカットして表示します。
#  (例) 炎の洞窟/二階#小部屋その1 → 炎の洞窟/二階
# ・イベント中、歩行中に非表示にすることが出来ます。
#==============================================================================
# ■ Sprite_Strmapname
#==============================================================================
class Sprite_Strmapname < Sprite
  # マップネーム表示位置
  TEXT_RECT = Rect.new(20, 16, 240, 20)           # 左揃い
  #TEXT_RECT = Rect.new(20, 16, 260, 24)     # 中央揃い
  #TEXT_RECT = Rect.new(544-336, 416-40, 320, 24  # 右揃い
  # フォントネーム
  #TEXT_FONT = ["UmePlus Gothic", "MS Pゴシック"] # UmePlus優先
  TEXT_FONT = ["迷你简卡通"]  # MSPゴシック優先
  # テキストサイズ
  TEXT_SIZE = 18
  # 文字装飾 [マップネーム前の文字,マップネーム後ろの文字]
  TEXT_TEXT = [" 所在地:", ""]
  # 文字揃え 0:左揃い 1:中央揃い 2:右揃い
  TEXT_ALIGN = 0
  # テキスト縁取り true = 有効 false = 無効
  TEXT_FRAME = true
  # テキストグラデーション(縦) true = 有効 false = 無効
  TEXT_GRADIENT = true
  # テキストカラー [グラデーション↑,グラデーション↓,縁取り]
  TEXT_COLOR = [Color.new(255,255,255), Color.new(255,224,80), Color.new(32,32,32)]
  # 斜体・太字 true = 有効 false = 無効
  TEXT_ITAL = false
  TEXT_BOLD = false
  # 簡易背景表示 true = 有効 false = 無効
  TEXT_BACK = true
  # 背景色 [グラデーション濃,グラデーション薄]
  TEXT_B_COLOR = [Color.new(0,0,0,160), Color.new(0,0,0,0)]
  # イベント中は非表示にする true = 有効 false = 無効
  TEXT_EVENT_V = false
  # プレイヤー移動中は非表示にする true = 有効 false = 無効
  TEXT_PMOVE_V = false
  # マップネームのコメントアウト文字 デフォルトは "#"
  TEXT_C_OUT = "#"
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(viewport)
    super(viewport)
    t = TEXT_TEXT[0] + map_name(TEXT_C_OUT) + TEXT_TEXT[1]
    self.visible = false if map_name(TEXT_C_OUT) == ""
    r = TEXT_RECT
    h = TEXT_SIZE + 2
    bitmap = Bitmap.new(r.width, r.height)
    # 背景描画
    if TEXT_BACK
      case TEXT_ALIGN
      when 0
        bitmap.gradient_fill_rect(16, 0, r.width-32, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
        bitmap.gradient_fill_rect(0, 0, 16, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
      when 1
        bitmap.gradient_fill_rect(r.width/2, 0, r.width/2, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
        bitmap.gradient_fill_rect(0, 0, r.width/2, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
      when 2
        bitmap.gradient_fill_rect(r.width-16, 0, 16, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
        bitmap.gradient_fill_rect(32, 0, r.width-48, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
      end
    end
    # フォント設定
    bitmap.font.name = TEXT_FONT
    bitmap.font.size = TEXT_SIZE
    bitmap.font.italic = TEXT_ITAL
    bitmap.font.bold = TEXT_BOLD
    # 縁取り
    bitmap.font.shadow = false
    if TEXT_FRAME
      bitmap.font.color = TEXT_COLOR[2]
      bitmap.draw_text(-1, 0, r.width, h, t, TEXT_ALIGN)
      bitmap.draw_text(1, 0, r.width, h, t, TEXT_ALIGN)
      bitmap.draw_text(0, 1, r.width, h, t, TEXT_ALIGN)
      bitmap.draw_text(0, -1, r.width, h, t, TEXT_ALIGN)
      bitmap.draw_text(+1, +1, r.width, h, t, TEXT_ALIGN)
    else
      bitmap.font.shadow = true
    end
    # 文字A
    b1 = Bitmap.new(r.width, r.height)
    # フォント設定
    b1.font.name = TEXT_FONT
    b1.font.size = TEXT_SIZE
    b1.font.italic = TEXT_ITAL
    b1.font.bold = TEXT_BOLD
    b1.font.color = TEXT_COLOR[0]
    b1.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
    bitmap.font.shadow = false
    src = Rect.new(0, 0, r.width, r.height)
    d = Rect.new(0, 0, r.width, r.height)
    bitmap.stretch_blt(d, b1, src)
    # 文字B
    if TEXT_GRADIENT
      b2 = Bitmap.new(r.width, r.height)
      # フォント設定
      b2.font.name = TEXT_FONT
      b2.font.size = TEXT_SIZE
      b2.font.italic = TEXT_ITAL
      b2.font.bold = TEXT_BOLD
      b2.font.color = TEXT_COLOR[1]
      b2.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
      y = TEXT_SIZE + 4
      src.height = 1
      d.height = 1
      # グラデーション
      for yy in 1..y
        op = 260 * (yy/(y*1.0))
        src.y = yy
        d.y = yy
        bitmap.stretch_blt(d, b2, src, op)
      end
    end
    self.bitmap = bitmap
    self.x = r.x
    self.y = r.y
    self.z = 100
    @opacity = 0
    self.opacity = @opacity
    update
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  def dispose
    if self.bitmap != nil
      self.bitmap.dispose
    end
    super
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    if ($game_map.interpreter.running? and TEXT_EVENT_V) or (moving? and TEXT_PMOVE_V)
      @opacity = [[@opacity - 32, -64].max, 256].min
    else
      @opacity = [[@opacity + 32, -64].max, 256].min
    end
    self.opacity = @opacity
  end
  #--------------------------------------------------------------------------
  # ● 移動判定
  #--------------------------------------------------------------------------
  def moving?
    return (not $game_player.stopping?)
  end
  #--------------------------------------------------------------------------
  # ● マップネーム取得
  #--------------------------------------------------------------------------
  def map_name(out)
    n = $game_map.map_name.split('')
    t = ""
    for i in 0...n.size
      break if n == out
      t += n
    end
    return t
  end
end
#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ★ 追加
  #--------------------------------------------------------------------------
  def create_strmapname
    @str_mapname = Sprite_Strmapname.new(@viewport2)
  end
  def dispose_strmapname
    @str_mapname.dispose
  end
  def update_strmapname
    @str_mapname.update
  end
  #--------------------------------------------------------------------------
  # ★ エイリアス
  #--------------------------------------------------------------------------
  alias initialize_str04 initialize
  def initialize
    create_strmapname
    initialize_str04
  end
  alias dispose_str04 dispose
  def dispose
    dispose_str04
    dispose_strmapname
  end
  alias update_str04 update
  def update
    update_str04
    update_strmapname
  end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # ★ 追加
  #--------------------------------------------------------------------------
  def map_name
    map = load_data("Data/MapInfos.rvdata")
    return map[@map_id].name
  end
end

--------------------------------------------------------------------------------------------------------此行不复制
这次不用代码框看看,怕你看不懂(版主别扣经验)再说我忘了怎么弄代码框

评分

参与人数 1星屑 +55 收起 理由
怪蜀黍 + 55 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2013-4-27
帖子
25
6
 楼主| 发表于 2013-4-29 17:31:45 | 只看该作者
ali 发表于 2013-4-29 16:44
来了来了,这是VX的

谢谢,不过用了之后进不了游戏?呵呵,我完全不懂代码,只会复制粘贴,所以看不懂这个是什么意思。

QQ图片20130429172949.jpg (12.1 KB, 下载次数: 23)

QQ图片20130429172949.jpg

点评

ali
126行改成 @opacity = 0 切记前面空格也要,后面空格不要  发表于 2013-4-29 17:37
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1408
在线时间
206 小时
注册时间
2013-2-3
帖子
629
5
发表于 2013-4-29 16:44:55 | 只看该作者
本帖最后由 ali 于 2013-4-29 16:52 编辑

来了来了,这是VX的

偶飞
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR04_マップネーム表示 v1.0
  4. # サポート:[url]http://otsu.cool.ne.jp/strcatyou/[/url]
  5. # ・マップ画面にマップ名を表示します。
  6. # ・文字を縦グラデーション描画可能。
  7. # ☆マップ名のコメントアウト(?)機能付き。
  8. #  マップ名の"#"以降の文字をカットして表示します。
  9. #  (例) 炎の洞窟/二階#小部屋その1 → 炎の洞窟/二階
  10. # ・イベント中、歩行中に非表示にすることが出来ます。
  11. #==============================================================================
  12. # ■ Sprite_Strmapname
  13. #==============================================================================
  14. class Sprite_Strmapname < Sprite
  15.   # マップネーム表示位置
  16.   TEXT_RECT = Rect.new(20, 16, 240, 20)           # 左揃い
  17.   #TEXT_RECT = Rect.new(20, 16, 260, 24)     # 中央揃い
  18.   #TEXT_RECT = Rect.new(544-336, 416-40, 320, 24  # 右揃い
  19.   # フォントネーム
  20.   #TEXT_FONT = ["UmePlus Gothic", "MS Pゴシック"] # UmePlus優先
  21.   TEXT_FONT = ["迷你简卡通"]  # MSPゴシック優先
  22.   # テキストサイズ
  23.   TEXT_SIZE = 18
  24.   # 文字装飾 [マップネーム前の文字,マップネーム後ろの文字]
  25.   TEXT_TEXT = [" 所在地:", ""]
  26.   # 文字揃え 0:左揃い 1:中央揃い 2:右揃い
  27.   TEXT_ALIGN = 0
  28.   # テキスト縁取り true = 有効 false = 無効
  29.   TEXT_FRAME = true
  30.   # テキストグラデーション(縦) true = 有効 false = 無効
  31.   TEXT_GRADIENT = true
  32.   # テキストカラー [グラデーション↑,グラデーション↓,縁取り]
  33.   TEXT_COLOR = [Color.new(255,255,255), Color.new(255,224,80), Color.new(32,32,32)]
  34.   # 斜体・太字 true = 有効 false = 無効
  35.   TEXT_ITAL = false
  36.   TEXT_BOLD = false
  37.   # 簡易背景表示 true = 有効 false = 無効
  38.   TEXT_BACK = true
  39.   # 背景色 [グラデーション濃,グラデーション薄]
  40.   TEXT_B_COLOR = [Color.new(0,0,0,160), Color.new(0,0,0,0)]
  41.   # イベント中は非表示にする true = 有効 false = 無効
  42.   TEXT_EVENT_V = false
  43.   # プレイヤー移動中は非表示にする true = 有効 false = 無効
  44.   TEXT_PMOVE_V = false
  45.   # マップネームのコメントアウト文字 デフォルトは "#"
  46.   TEXT_C_OUT = "#"
  47.   #--------------------------------------------------------------------------
  48.   # ● オブジェクト初期化
  49.   #--------------------------------------------------------------------------
  50.   def initialize(viewport)
  51.     super(viewport)
  52.     t = TEXT_TEXT[0] + map_name(TEXT_C_OUT) + TEXT_TEXT[1]
  53.     self.visible = false if map_name(TEXT_C_OUT) == ""
  54.     r = TEXT_RECT
  55.     h = TEXT_SIZE + 2
  56.     bitmap = Bitmap.new(r.width, r.height)
  57.     # 背景描画
  58.     if TEXT_BACK
  59.       case TEXT_ALIGN
  60.       when 0
  61.         bitmap.gradient_fill_rect(16, 0, r.width-32, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  62.         bitmap.gradient_fill_rect(0, 0, 16, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  63.       when 1
  64.         bitmap.gradient_fill_rect(r.width/2, 0, r.width/2, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  65.         bitmap.gradient_fill_rect(0, 0, r.width/2, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  66.       when 2
  67.         bitmap.gradient_fill_rect(r.width-16, 0, 16, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  68.         bitmap.gradient_fill_rect(32, 0, r.width-48, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
  69.       end
  70.     end
  71.     # フォント設定
  72.     bitmap.font.name = TEXT_FONT
  73.     bitmap.font.size = TEXT_SIZE
  74.     bitmap.font.italic = TEXT_ITAL
  75.     bitmap.font.bold = TEXT_BOLD
  76.     # 縁取り
  77.     bitmap.font.shadow = false
  78.     if TEXT_FRAME
  79.       bitmap.font.color = TEXT_COLOR[2]
  80.       bitmap.draw_text(-1, 0, r.width, h, t, TEXT_ALIGN)
  81.       bitmap.draw_text(1, 0, r.width, h, t, TEXT_ALIGN)
  82.       bitmap.draw_text(0, 1, r.width, h, t, TEXT_ALIGN)
  83.       bitmap.draw_text(0, -1, r.width, h, t, TEXT_ALIGN)
  84.       bitmap.draw_text(+1, +1, r.width, h, t, TEXT_ALIGN)
  85.     else
  86.       bitmap.font.shadow = true
  87.     end
  88.     # 文字A
  89.     b1 = Bitmap.new(r.width, r.height)
  90.     # フォント設定
  91.     b1.font.name = TEXT_FONT
  92.     b1.font.size = TEXT_SIZE
  93.     b1.font.italic = TEXT_ITAL
  94.     b1.font.bold = TEXT_BOLD
  95.     b1.font.color = TEXT_COLOR[0]
  96.     b1.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  97.     bitmap.font.shadow = false
  98.     src = Rect.new(0, 0, r.width, r.height)
  99.     d = Rect.new(0, 0, r.width, r.height)
  100.     bitmap.stretch_blt(d, b1, src)
  101.     # 文字B
  102.     if TEXT_GRADIENT
  103.       b2 = Bitmap.new(r.width, r.height)
  104.       # フォント設定
  105.       b2.font.name = TEXT_FONT
  106.       b2.font.size = TEXT_SIZE
  107.       b2.font.italic = TEXT_ITAL
  108.       b2.font.bold = TEXT_BOLD
  109.       b2.font.color = TEXT_COLOR[1]
  110.       b2.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
  111.       y = TEXT_SIZE + 4
  112.       src.height = 1
  113.       d.height = 1
  114.       # グラデーション
  115.       for yy in 1..y
  116.         op = 260 * (yy/(y*1.0))
  117.         src.y = yy
  118.         d.y = yy
  119.         bitmap.stretch_blt(d, b2, src, op)
  120.       end
  121.     end
  122.     self.bitmap = bitmap
  123.     self.x = r.x
  124.     self.y = r.y
  125.     self.z = 100
  126.     [url=home.php?mod=space&uid=316553]@opacity[/url] = 0
  127.     self.opacity = @opacity
  128.     update
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 解放
  132.   #--------------------------------------------------------------------------
  133.   def dispose
  134.     if self.bitmap != nil
  135.       self.bitmap.dispose
  136.     end
  137.     super
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● フレーム更新
  141.   #--------------------------------------------------------------------------
  142.   def update
  143.     if ($game_map.interpreter.running? and TEXT_EVENT_V) or (moving? and TEXT_PMOVE_V)
  144.       [url=home.php?mod=space&uid=316553]@opacity[/url] = [[[url=home.php?mod=space&uid=316553]@opacity[/url] - 32, -64].max, 256].min
  145.     else
  146.       @opacity = [[@opacity + 32, -64].max, 256].min
  147.     end
  148.     self.opacity = @opacity
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 移動判定
  152.   #--------------------------------------------------------------------------
  153.   def moving?
  154.     return (not $game_player.stopping?)
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ● マップネーム取得
  158.   #--------------------------------------------------------------------------
  159.   def map_name(out)
  160.     n = $game_map.map_name.split('')
  161.     t = ""
  162.     for i in 0...n.size
  163.       break if n[i] == out
  164.       t += n[i]
  165.     end
  166.     return t
  167.   end
  168. end
  169. #==============================================================================
  170. # ■ Spriteset_Map
  171. #==============================================================================
  172. class Spriteset_Map
  173.   #--------------------------------------------------------------------------
  174.   # ★ 追加
  175.   #--------------------------------------------------------------------------
  176.   def create_strmapname
  177.     @str_mapname = Sprite_Strmapname.new(@viewport2)
  178.   end
  179.   def dispose_strmapname
  180.     @str_mapname.dispose
  181.   end
  182.   def update_strmapname
  183.     @str_mapname.update
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ★ エイリアス
  187.   #--------------------------------------------------------------------------
  188.   alias initialize_str04 initialize
  189.   def initialize
  190.     create_strmapname
  191.     initialize_str04
  192.   end
  193.   alias dispose_str04 dispose
  194.   def dispose
  195.     dispose_str04
  196.     dispose_strmapname
  197.   end
  198.   alias update_str04 update
  199.   def update
  200.     update_str04
  201.     update_strmapname
  202.   end
  203. end
  204. #==============================================================================
  205. # ■ Game_Map
  206. #==============================================================================
  207. class Game_Map
  208.   #--------------------------------------------------------------------------
  209.   # ★ 追加
  210.   #--------------------------------------------------------------------------
  211.   def map_name
  212.     map = load_data("Data/MapInfos.rvdata")
  213.     return map[@map_id].name
  214.   end
  215. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2013-4-27
帖子
25
4
 楼主| 发表于 2013-4-29 10:25:33 | 只看该作者
zhucedante 发表于 2013-4-29 10:10
谢谢,我复制进脚本了。可是,什么也没有显示呀?

这样啊……还是谢谢你

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
43 小时
注册时间
2013-4-27
帖子
25
3
 楼主| 发表于 2013-4-29 10:10:48 | 只看该作者
嗨。猪头 发表于 2013-4-29 09:52

谢谢,我复制进脚本了。可是,什么也没有显示呀?

点评

-_- 看错 这个是VA的 不是VX 亲  发表于 2013-4-29 10:21
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
59
在线时间
831 小时
注册时间
2010-8-23
帖子
487
2
发表于 2013-4-29 09:52:17 | 只看该作者
  1. # encoding: utf-8
  2. #==============================================================================
  3. # ** Window_MapNamePlus
  4. #------------------------------------------------------------------------------
  5. #  This window displays the map name.
  6. #------------------------------------------------------------------------------
  7. #  使用方法:
  8. #    新建脚本页,复制粘贴
  9. #    在“Scene_Map”中找到“Window_MapName.new”,改成"Window_MapNamePlus.new"(大概在
  10. #     159行左右)
  11. #    在地图属性的设置窗口,“显示名称”中的地图名格式:“中文名@EnglishName”,即用“@”分割中文
  12. #     和英文地图名
  13. #==============================================================================

  14. class Window_MapNamePlus < Window_Base
  15.   #--------------------------------------------------------------------------
  16.   # * Settings
  17.   #--------------------------------------------------------------------------
  18.   FONT_NAME_CH = ["PMingLiU", "FangSong"]       # Chinese Font Name
  19.   FONT_SIZE_CH = 42                             # Chinese Font Size
  20.   FONT_NAME_EN = ["Monotype Corsiva"]           # English Font Name
  21.   FONT_SIZE_EN = 28                             # English Font Size
  22.   FONT_BOLD    = false                          # True if Font in Bold
  23.   FONT_COLOR   = Color.new(255, 255, 255, 255)  # Color of Font
  24.   FONT_OUT     = true                           # True if Font Has Outline
  25.   OUT_COLOR    = Color.new(0, 0, 0, 200)        # Color of Outline Color of Font
  26.   FONT_SHADOW  = false                          # True if Text Drops Shadow
  27.   MODIFIER     = "~"                            # Modifier Added beside Map Name
  28.   PADDING      = 8                              # Padding between Window's Frame and Contents
  29.   LINE_HEIGHT  = 6                              # Height of Split Line
  30.   #--------------------------------------------------------------------------
  31.   # * Public Instance Variables
  32.   #--------------------------------------------------------------------------
  33.   attr_reader :map_name_ch                      # Chinese Map Name
  34.   attr_reader :map_name_en                      # English Map Name
  35.   attr_reader :line_x                           # Split Line X Coordinate
  36.   attr_reader :line_y                           # Split Line Y Coordinate
  37.   #--------------------------------------------------------------------------
  38.   # * Object Initialization
  39.   #--------------------------------------------------------------------------
  40.   def initialize
  41.     #----------------------------------------------------------------------
  42.     # * Set the window in the middle of screen.
  43.     #----------------------------------------------------------------------
  44.     super(((Graphics.width - window_width) / 2),
  45.       ((Graphics.height - (FONT_SIZE_CH + FONT_SIZE_EN + PADDING * 4 + LINE_HEIGHT)) / 2),
  46.       window_width, FONT_SIZE_CH + FONT_SIZE_EN + PADDING * 4 + LINE_HEIGHT)
  47.     #----------------------------------------------------------------------
  48.     # * Custom font and style.
  49.     #----------------------------------------------------------------------
  50.     contents.font.bold      = FONT_BOLD
  51.     contents.font.color     = FONT_COLOR
  52.     contents.font.outline   = FONT_OUT
  53.     contents.font.out_color = OUT_COLOR
  54.     contents.font.shadow    = FONT_SHADOW
  55.     #----------------------------------------------------------------------
  56.     # * Set Window Opacity
  57.     #----------------------------------------------------------------------
  58.     self.opacity = 0
  59.     self.contents_opacity = 0
  60.     @show_count = 0
  61.     refresh
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # * Get Window Width
  65.   #--------------------------------------------------------------------------
  66.   def window_width
  67.     return Graphics.width
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # * Frame Update
  71.   #--------------------------------------------------------------------------
  72.   def update
  73.     super
  74.     if @show_count > 0 && $game_map.name_display
  75.       update_fadein
  76.       @show_count -= 1
  77.     else
  78.       update_fadeout
  79.     end
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # * Update Fadein
  83.   #--------------------------------------------------------------------------
  84.   def update_fadein
  85.     self.contents_opacity += 16
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # * Update Fadeout
  89.   #--------------------------------------------------------------------------
  90.   def update_fadeout
  91.     self.contents_opacity -= 16
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # * Open Window
  95.   #--------------------------------------------------------------------------
  96.   def open
  97.     refresh
  98.     @show_count = 150
  99.     self.contents_opacity = 0
  100.     self
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # * Close Window
  104.   #--------------------------------------------------------------------------
  105.   def close
  106.     @show_count = 0
  107.     self
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # * Refresh
  111.   #--------------------------------------------------------------------------
  112.   def refresh
  113.     contents.clear
  114.     set_map_name
  115.     unless $game_map.display_name.empty?
  116.       draw_map_name
  117.     end
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # * Draw Line
  121.   #--------------------------------------------------------------------------
  122.   def draw_line(rect)
  123.     temp_rect = rect.clone
  124.     temp_rect.height = LINE_HEIGHT
  125.     temp_rect.width /= 4
  126.     contents.gradient_fill_rect(temp_rect, color2, color1)
  127.     temp_rect.x += temp_rect.width
  128.     temp_rect.width *= 2
  129.     contents.fill_rect(temp_rect, color1)
  130.     temp_rect.x += temp_rect.width
  131.     temp_rect.width /= 2
  132.     contents.gradient_fill_rect(temp_rect, color1, color2)
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # * Set Map Name
  136.   #--------------------------------------------------------------------------
  137.   def set_map_name
  138.     temp_map_name = $game_map.display_name.split("@")
  139.     @map_name_ch  = temp_map_name[0].to_s
  140.     @map_name_en  = MODIFIER + " " + temp_map_name[1].to_s + " " + MODIFIER
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # * Draw Map Name
  144.   #--------------------------------------------------------------------------
  145.   def draw_map_name
  146.     set_line_position
  147.     set_line_width
  148.     temp_line_rect = Rect.new(@line_x, @line_y, set_line_width, LINE_HEIGHT)
  149.     draw_line(temp_line_rect)
  150.     temp_name_rect_ch = Rect.new(0, 0, contents.width, FONT_SIZE_CH)
  151.     contents.font.name = FONT_NAME_CH
  152.     contents.font.size = FONT_SIZE_CH
  153.     draw_text(temp_name_rect_ch, @map_name_ch, 1)
  154.     temp_name_rect_en = Rect.new(0, FONT_SIZE_CH, contents.width, FONT_SIZE_EN)
  155.     contents.font.size = FONT_SIZE_EN
  156.     contents.font.name = FONT_NAME_EN
  157.     draw_text(temp_name_rect_en, @map_name_en, 1)
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # * Set Line Width
  161.   #--------------------------------------------------------------------------
  162.   def set_line_width
  163.     text_width_ch = text_size(@map_name_ch).width * 1.5
  164.     text_width_en = text_size(@map_name_en).width * 1.5
  165.     (text_width_ch >= text_width_en) ?
  166.       (text_width_ch) : (text_width_en)
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # * Set Line Position
  170.   #--------------------------------------------------------------------------
  171.   def set_line_position
  172.     @line_x = (contents.width - set_line_width) / 2
  173.     @line_y = (contents.height - LINE_HEIGHT) / 2
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # * Get Color 1
  177.   #--------------------------------------------------------------------------
  178.   def color1
  179.     Color.new(255, 255, 255, 255)
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # * Get Color 2
  183.   #--------------------------------------------------------------------------
  184.   def color2
  185.     Color.new(255, 255, 255, 0)
  186.   end
  187. end
复制代码
正统RPG进度更新~
剧情:■■■■■■■■■
系统:■■■■■■■■□□
设定:■■■■■■■■□□
左右时尚鞋坊 美丽从脚开始
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 12:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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