赞 | 3 |
VIP | 0 |
好人卡 | 1 |
积分 | 14 |
经验 | 4061 |
最后登录 | 2021-11-3 |
在线时间 | 206 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1408
- 在线时间
- 206 小时
- 注册时间
- 2013-2-3
- 帖子
- 629
|
本帖最后由 ali 于 2013-4-29 16:52 编辑
来了来了,这是VX的
- #==============================================================================
- # ★RGSS2
- # STR04_マップネーム表示 v1.0
- # サポート:[url]http://otsu.cool.ne.jp/strcatyou/[/url]
- # ・マップ画面にマップ名を表示します。
- # ・文字を縦グラデーション描画可能。
- # ☆マップ名のコメントアウト(?)機能付き。
- # マップ名の"#"以降の文字をカットして表示します。
- # (例) 炎の洞窟/二階#小部屋その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
- [url=home.php?mod=space&uid=316553]@opacity[/url] = 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)
- [url=home.php?mod=space&uid=316553]@opacity[/url] = [[[url=home.php?mod=space&uid=316553]@opacity[/url] - 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[i] == out
- t += n[i]
- 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
-
复制代码 |
|