赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1430 |
最后登录 | 2020-6-24 |
在线时间 | 15 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 70
- 在线时间
- 15 小时
- 注册时间
- 2008-2-7
- 帖子
- 48
|
#==============================================================================
# ★ ALGUS_Window
#------------------------------------------------------------------------------
# 基本ウィンドウをゲーム内共通の仕様として再定義します。
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# ○ 歩行グラフィックの描画 (再定義)
# character_name : 歩行グラフィック ファイル名
# character_index : 歩行グラフィック インデックス
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_character(character_name, character_index, x, y, enabled = true)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil and sign.include?('$')
cw = bitmap.width / 3
ch = bitmap.height / 4
else
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
opacity = enabled ? 255 : 128
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity)
end
#--------------------------------------------------------------------------
# ○ アクターの歩行グラフィック描画 (再定義)
# actor : アクター
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_actor_graphic(actor, x, y, enabled = true)
draw_character(actor.character_name, actor.character_index, x, y, enabled)
end
#--------------------------------------------------------------------------
# ☆ システムテキストの描画
#--------------------------------------------------------------------------
def draw_system_text(x, y, width, height, str, align = 0, size = 20)
self.contents.font.color = system_color
self.contents.font.size = size
self.contents.draw_text(x, y, width, height, str, align)
self.contents.font.color = normal_color
self.contents.font.size = 20
end
#--------------------------------------------------------------------------
# ☆ フォーマット済み文章を描画
# text : 文章
# max_line : 最大行数
#--------------------------------------------------------------------------
def draw_format_text(text, x = 0, y = 0, max_line = 4)
if text != nil
text.sub!(/^\n/, "")
text.gsub!(/\n/, "\x00")
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
cx = x
cy = y
line_count = 0
loop do
c = text.slice!(/./m)
case c
when nil
break
when "\x00"
cx = x
cy += WLH
line_count += 1
when "\x01"
text.sub!(/\[([0-9]+)\]/, "")
self.contents.font.color = text_color($1.to_i)
next
else
self.contents.draw_text(cx, cy, 40, WLH, c)
cx += contents.text_size(c).width
end
break if line_count >= max_line
end
end
end
end
class Window_Command
#--------------------------------------------------------------------------
# ○ 項目の描画 (再定義)
# index : 項目番号
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
if $scene.is_a?(Scene_Title)
self.contents.font.color = Color.new(249, 206, 247)
else
self.contents.font.color = normal_color
end
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index], 1)
end
end
class Scene_Title
#--------------------------------------------------------------------------
# ○ コマンドウィンドウの作成 (再定義)
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::new_game
s2 = Vocab::continue
s3 = Vocab::shutdown
@command_window = Window_Command.new(172, [s1, s2, s3])
@command_window.x = (851 - @command_window.width) / 2
@command_window.y = 85
if @continue_enabled # コンティニューが有効な場合
@command_window.index = 1 # カーソルを合わせる
else # 無効な場合
@command_window.draw_item(1, false) # コマンドを半透明表示にする
end
@command_window.opacity = 0
@command_window.open
end
#--------------------------------------------------------------------------
# ○ コマンドウィンドウを閉じる (再定義)
#--------------------------------------------------------------------------
def close_command_window
@command_window.close
end
end
class Scene_File
#--------------------------------------------------------------------------
# ○ メニュー画面系の背景作成 (再定義)
#--------------------------------------------------------------------------
def create_menu_background
@menuback_sprite = Sprite.new
@menuback_sprite.bitmap = Bitmap.new(544, 416)
update_menu_background
end
end
Color.new(249, 206, 247)开始画面的“新游戏,继续,结束”的颜色改变 背景透明里面右了不过不知道是哪个。。
@command_window.x = (851 - @command_window.width) / 2
@command_window.y = 85
851 85 改开始画面的选项位置的 自己去改数字试试就可以了 |
|