Jump to content
Rpg²S Forum
  • 0

Problema con il FUKI


Eberk94
 Share

Question

Lo so che per molti può sembrare una domanda stupida ma no riesco a cambiare il font nei messaggi con un font che ho scaricato io da internet. Io utilizzo il FUKI per i messaggi se potete darmi un aiuto ve ne sarei grato.

Ecco lo script se vi serve(ho cambiato dove c'era arial con il font che vorrei utilizzare):

 

#======================================================================

========

# ++ メッセージふきだし表示 ver. 1.16 ++

#  Script by パラ犬

#------------------------------------------------------------------------------

# ふきだし表示をするには、

# テール用画像「(スキン名)-top」「(スキン名)-under」を

# 「Graphics/Windowskins」フォルダにインポートしておく必要があります。

#------------------------------------------------------------------------------

#

# [ふきだし表示の使い方]

# イベントコマンド「スクリプト」で「$mes_id」にイベントIDを代入することで

# そのイベントにふきだしがポップするようになります。

# (記述例: $mes_id=4 )

# IDに-1を代入するとプレイヤー、0でそのイベント自身。

# nilまたは""を代入すると、通常のメッセージ表示に戻ります。

# 表示位置はイベント「文章オプション」で変更できます。

# 表示位置に「中央」を指定すると、イベントの位置に関係なく

# 画面中央に表示されます。

#

# [名前ウインドウの使い方]

# イベントコマンド「スクリプト」で「$mes_name」に文字列を代入することで

# 名前ウインドウを表示します。

# (記述例: $mes_name="アルシェス" )

# ""またはnilを代入すると、非表示になります。

#

# 二つの機能は独立していますので、それぞれ単体で使えます。

#  $mes_id=(ID) + $mes_name="名前" :ふきだし表示 + 名前ウインドウ

#  $mes_id=(ID) + $mes_name="" :ふきだし表示 (名前なし)

#  $mes_id=nil + $mes_name="名前" :デフォルトウインドウ + 名前ウインドウ

#  $mes_id=nil + $mes_name="" :デフォルトウインドウ (名前なし)

#

# [メッセージ表示スピードの変更法]

# イベントコマンド「スクリプト」で「$mes_speed」に数値を代入します。

# (記述例: $mes_speed=1 )

#==============================================================================

 

module FUKI

 

# スキンの設定

# ウインドウスキンと同じものを使うときは「""」

FUKI_SKIN_NAME = "001-Blue01" # ふきだし用スキン

NAME_SKIN_NAME = "001-Blue01" # 名前表示用スキン

 

# フォントサイズ

MES_FONT_SIZE = 20 # メッセージウインドウとふきだし

NAME_FONT_SIZE = 20 # 名前ウインドウ

 

# ウインドウの透明度

FUKI_OPACITY = 255 # ふきだしウインドウ

MES_OPACITY = 255 # 通常のメッセージウインドウ

NAME_OPACITY = 255 # 名前ウインドウ

 

# 名前ウインドウの相対位置

NAME_SHIFT_X = 0 # 横位置

NAME_SHIFT_Y = 16 # 縦位置

 

# 画面の一番端ではふきだしを少しずらす

# 角の丸いスキンを使っていて、枠の角がふきだしと重なる場合に true にする

CORNER_SHIFT = false

SHIFT_PIXEL = 4 # trueの時にずらすピクセル数

 

# キャラクターの縦のサイズ

CHARACTOR_HEIGHT = 48

# ふきだしの相対位置(縦位置)

POP_SHIFT_TOP = 0 # 表示位置が上のとき

POP_SHIFT_UNDER = -16 # 表示位置が下のとき

 

# メッセージ表示速度(数字が小さいほど速い。0で瞬間表示)

# $mes_speedに数値を代入することで、ゲーム中に変更可。

MES_SPEED = 1

 

end

 

#==============================================================================

# □ Window_FukiMessage

#==============================================================================

 

class Window_FukiMessage < Window_Selectable

 

#--------------------------------------------------------------------------

# ○ オブジェクト初期化

#--------------------------------------------------------------------------

def initialize

super(80, 304, 480, 160)

self.contents = Bitmap.new(width - 32, height - 32)

self.visible = false

self.z = 9998

@fade_in = false

@fade_out = false

@contents_showing = false

@cursor_width = 0

self.active = false

self.index = -1

self.contents.font.name = "animeace"

@w = 0

@h = 0

@wait = 0

@dx = 0

@dy = 0

$mes_speed = FUKI::MES_SPEED

end

#--------------------------------------------------------------------------

# ○ サイズを決定してウインドウを作成

#--------------------------------------------------------------------------

def refresh_create

self.contents.clear

self.contents.font.color = normal_color

self.contents.font.size = FUKI::MES_FONT_SIZE

self.contents.font.name = "animeace"

# ウインドウサイズを取得

get_windowsize

w = @w + 32 + 8

h = @h * (self.contents.font.size + 10) + 26

# ふきだしウインドウを作成

set_fukidasi(self.x, self.y, w, h)

# 名前ウインドウを作成

set_namewindow

# メッセージ表示用変数の初期化

@dx = @dy = 0

@cursor_width = 0

@contents_drawing = true

# 瞬間表示の場合、ここで表示処理

if $mes_speed == 0

# 描画処理をループ

while $game_temp.message_text != ""

draw_massage

end

draw_opt_text

@contents_showing_end = true

@contents_drawing = false

else

# 一文字ずつ描画

refresh_drawtext

end

end

#--------------------------------------------------------------------------

# ○ 一文字ずつ描画

#--------------------------------------------------------------------------

def refresh_drawtext

if $game_temp.message_text != nil

if @wait > 0

@wait -= 1

elsif @wait == 0

# 描画処理

draw_massage

@wait = $mes_speed

end

end

# 描画終了

if $game_temp.message_text == ""

draw_opt_text

@contents_showing_end = true

@contents_drawing = false

end

end

#-----------------------------------

if @face != nil

@face_win.visible = true if @face_win.visible == false

@face_win.contents.clear

pic_x = @face_win.contents.width - @pic_width

pic_y = @face_win.contents.height / 2 - @pic_height / 2

dest = Rect.new(pic_x, pic_y, @pic_width, @pic_height)

src = Rect.new(0, 0, @face.width, @face.height)

@face_win.contents.stretch_blt(dest, @face, src)

end

#-----------------------------------------------------------------------

 

#--------------------------------------------------------------------------

# ○ ウインドウサイズを取得

#--------------------------------------------------------------------------

def get_windowsize

x = y = 0

@h = @w = 0

@cursor_width = 0

# 選択肢なら字下げを行う

if $game_temp.choice_start == 0

x = 8

end

# 表示待ちのメッセージがある場合

if $game_temp.message_text != nil

text = $game_temp.message_text.clone

# 制御文字処理

begin

last_text = text.clone

text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }

end until text == last_text

text.gsub!(/\\[Nn]\[([0-9]+)\]/) do

$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""

end

# 便宜上、"\\\\" を "0" に変換

text.gsub!(/\\\\/) { "0" }

# "\\C" を "1" に、"\\G" を "2" に変換

text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "1[#{$1}]" }

text.gsub!(/\\[Gg]/) { "2" }

# c に 1 文字を取得 (文字が取得できなくなるまでループ)

while ((c = text.slice!(/./m)) != nil)

# \\ の場合

if c == "0"

# 本来の文字に戻す

c = "\\"

end

# \C[n] または \G の場合

if c == "1" or c == "2"

# 次の文字へ

next

end

# 改行文字の場合

if c == "\n"

# y に 1 を加算

y += 1

# 縦横サイズを取得

@h = y

@w = x > @w ? x : @w

if y >= $game_temp.choice_start

@w = x + 8 > @w ? x + 8 : @w

end

x = 0

# 選択肢なら字下げを行う

if y >= $game_temp.choice_start

x = 8

end

# 次の文字へ

next

end

# x に描画した文字の幅を加算

x += self.contents.text_size©.width

end

end

# 数値入力の場合

if $game_temp.num_input_variable_id > 0

digits_max = $game_temp.num_input_digits_max

number = $game_variables[$game_temp.num_input_variable_id]

@h += 1

x = digits_max * self.contents.font.size + 16

self.contents.font.name = "animeace"

@w = x > @w ? x : @w

end

end

#--------------------------------------------------------------------------

# ○ 描画処理

#--------------------------------------------------------------------------

def draw_massage

# 表示待ちのメッセージがある場合

if $game_temp.message_text != nil

text = $game_temp.message_text

# 制御文字処理

begin

last_text = text.clone

text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }

end until text == last_text

text.gsub!(/\\[Nn]\[([0-9]+)\]/) do

$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""

end

# 便宜上、"\\\\" を "0" に変換

text.gsub!(/\\\\/) { "0" }

# "\\C" を "1" に、"\\G" を "2" に変換

text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "1[#{$1}]" }

text.gsub!(/\\[Gg]/) { "2" }

# c に 1 文字を取得

if ((c = text.slice!(/./m)) != nil)

# 選択肢の場合

if @dy >= $game_temp.choice_start

# 字下げを行う

@dx = 8

# 文字を描画

self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)

self.contents.font.name = "Arial"

# x に描画した文字の幅を加算

@dx += self.contents.text_size©.width

self.contents.font.name = "animeace"

# ループ

while ((c = text.slice!(/./m)) != "\n")

# 文字を描画

self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)

self.contents.font.name = "animeace"

# x に描画した文字の幅を加算

@dx += self.contents.text_size©.width

end

if c == "\n"

# カーソルの幅を更新

@cursor_width = [@cursor_width, @dx].max

# y に 1 を加算

@dy += 1

@dx = 0

end

return

end

# \\ の場合

if c == "0"

# 本来の文字に戻す

c = "\\"

end

# \C[n] の場合

if c == "1"

# 文字色を変更

text.sub!(/\[([0-9]+)\]/, "")

color = $1.to_i

if color >= 0 and color <= 7

self.contents.font.color = text_color(color)

self.contents.font.name = "animeace"

end

end

# \G の場合

if c == "2"

# ゴールドウィンドウを作成

if @gold_window == nil

@gold_window = Window_Gold.new

@gold_window.x = 560 - @gold_window.width

if $game_temp.in_battle

@gold_window.y = 192

else

@gold_window.y = self.y >= 128 ? 32 : 384

end

@gold_window.opacity = self.opacity

@gold_window.back_opacity = self.back_opacity

self.contents.font.name = "animeace"

end

end

# 改行文字の場合

if c == "\n"

# y に 1 を加算

@dy += 1

@dx = 0

end

# 文字を描画

self.contents.font.size = FUKI::MES_FONT_SIZE

font_size = self.contents.font.size

self.contents.draw_text(4+@dx, (font_size+10)*@dy, font_size, font_size, c)

self.contents.font.name = "animeace"

# x に描画した文字の幅を加算

@dx += self.contents.text_size©.width

self.contents.font.name = "animeace"

end

end

end

#--------------------------------------------------------------------------

# ○ 選択肢と数値入力を有効に

#--------------------------------------------------------------------------

def draw_opt_text

# 選択肢の場合

if $game_temp.choice_max > 0

@item_max = $game_temp.choice_max

self.active = true

self.index = 0

self.contents.font.name = "animeace"

end

# 数値入力の場合

if $game_temp.num_input_variable_id > 0

digits_max = $game_temp.num_input_digits_max

number = $game_variables[$game_temp.num_input_variable_id]

@input_number_window = Window_InputNumber.new(digits_max)

@input_number_window.number = number

@input_number_window.x = self.x + 8

@input_number_window.y = self.y + $game_temp.num_input_start * 32

end

end

#--------------------------------------------------------------------------

# ○ ふきだしを表示

#--------------------------------------------------------------------------

def set_fukidasi(x, y, width, height)

# $mes_id が空のときはふきだしを表示しない

if $mes_id == nil or $mes_id == ""

del_fukidasi

reset_window

else

# ポーズサインを非表示

self.pause = false

self.contents.font.name = "animeace"

# キャラクターを取得

character = get_character($mes_id)

if character == nil

# キャラクターが存在しないときは通常のメッセージウインドウに

del_fukidasi

reset_window

return

end

# マップがスクロールされていないときの座標処理

if $game_map.display_x == 0

x = character.x * 32 - (width / 2) + 16

elsif $game_map.display_x == ($game_map.width - 20) * 128

x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32 - (width / 2) + 16

else

x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32 - (width / 2)

end

# はみ出すときは画面内に収まるように移動

if x + width > 640

x = 640 - width

elsif x < 0

x = 0

end

# ウインドウの位置を決定

case $game_system.message_position

when 0 # 上

y = ( (character.real_y - $game_map.display_y + 64) / 128) * 32 - height + 16 - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP

when 1 # 中

y = (480 - height) / 2

x = (640 - width) / 2

when 2 # 下

y = ( (character.real_y - $game_map.display_y + 64) / 128) * 32 + 48 + FUKI::POP_SHIFT_UNDER

end

skin = FUKI::FUKI_SKIN_NAME != "" ? FUKI::FUKI_SKIN_NAME : $game_system.windowskin_name

# ふきだし用メッセージウインドウを作成

self.windowskin = RPG::Cache.windowskin(skin)

self.x = x

self.y = y

self.height = height

self.width = width

self.contents.dispose

self.contents = Bitmap.new(width - 32, height - 32)

self.back_opacity = FUKI::FUKI_OPACITY

self.contents.clear

self.contents.font.color = normal_color

self.contents.font.size = FUKI::MES_FONT_SIZE

self.contents.font.name = "animeace"

# ふきだしのテールを描画

if $game_system.message_frame == 0

@fuki = Sprite.new

case $game_system.message_position

when 0 # 上

@fuki.bitmap = RPG::Cache.windowskin(skin + "-top")

# マップがスクロールされていないときの座標処理

if $game_map.display_x == 0

@fuki.x = character.x * 32

elsif $game_map.display_x == ($game_map.width - 20) * 128

@fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32

else

@fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32 - 16

end

# 画面端では位置をずらす

if FUKI::CORNER_SHIFT

if @fuki.x == 0

@fuki.x = FUKI::SHIFT_PIXEL

elsif @fuki.x == 640 - 32

@fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL

end

end

@fuki.y = y + height - 16

@fuki.z = self.z + 1

when 1 # 中

@fuki.dispose

@fuki = nil

when 2 # 下

@fuki.bitmap = RPG::Cache.windowskin(skin + "-under")

# マップがスクロールされていないときの座標処理

if $game_map.display_x == 0

@fuki.x = character.x * 32

elsif $game_map.display_x == ($game_map.width - 20) * 128

@fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32

else

@fuki.x = ( character.real_x - $game_map.display_x + 64 ) / 128 * 32 - 16

end

# 画面端では位置をずらす

if FUKI::CORNER_SHIFT

if @fuki.x == 0

@fuki.x = FUKI::SHIFT_PIXEL

elsif @fuki.x == 640 - 32

@fuki.x = 640 - 32 - FUKI::SHIFT_PIXEL

end

end

@fuki.y = y - 16

@fuki.z = self.z + 1

end

end

end

end

#--------------------------------------------------------------------------

# ○ 名前ウインドウを表示

#--------------------------------------------------------------------------

def set_namewindow

# $mes_name が空のときは名前ウインドウを表示しない

if $mes_name == nil or $mes_name == "animeace"

return

else

# 変数をセット

mes_name = $mes_name

name_width = mes_name.size / 2 * FUKI::NAME_FONT_SIZE

name_height = FUKI::NAME_FONT_SIZE

name_x = x + FUKI::NAME_SHIFT_X

name_y = y - name_height - 16 + FUKI::NAME_SHIFT_Y

# 名前ウインドウ(枠のみ)を作成

@name_win = Window_Base.new(name_x, name_y, name_width + 16, name_height + 16)

skin = FUKI::NAME_SKIN_NAME != "" ? FUKI::NAME_SKIN_NAME : $game_system.windowskin_name

@name_win.windowskin = RPG::Cache.windowskin(skin)

@name_win.back_opacity = FUKI::NAME_OPACITY

@name_win.z = self.z + 1

# 余白をwindowクラスの限界よりも小さくするため、二重構造に

viewport = Viewport.new(name_x+12, name_y+8, name_width, name_height)

viewport.z = @name_win.z + 1

@name_contents = Sprite.new(viewport)

@name_contents.bitmap = Bitmap.new(name_width, name_height)

@name_contents.z = @name_win.z + 2

@name_contents.bitmap.font.color = normal_color

@name_contents.bitmap.font.size = FUKI::NAME_FONT_SIZE

# ウインドウサイズを調整

rect = @name_contents.bitmap.text_size(mes_name)

@name_win.width = rect.width + 32

# 名前を描画

@name_contents.bitmap.draw_text(rect, mes_name)

end

end

#--------------------------------------------------------------------------

# ○ ふきだしと名前ウインドウを破棄

#--------------------------------------------------------------------------

def del_fukidasi

if @fuki != nil

@fuki.dispose

@fuki = nil

end

if @name_win != nil

@name_win.dispose

@name_win = nil

@name_contents.dispose

@name_contents = nil

end

self.opacity = 0

self.x = 80

self.width = 480

self.height = 160

self.contents.dispose

self.contents = Bitmap.new(width - 32, height - 32)

self.pause = true

self.contents.font.name = "animeace"

end

#--------------------------------------------------------------------------

# ○ キャラクターの取得

# parameter : パラメータ

#--------------------------------------------------------------------------

def get_character(parameter)

# パラメータで分岐

case parameter

when -1 # プレイヤー

return $game_player

when 0 # このイベント

events = $game_map.events

return events == nil ? nil : events[$active_event_id]

else # 特定のイベント

events = $game_map.events

return events == nil ? nil : events[parameter]

end

end

#--------------------------------------------------------------------------

# ○ ウィンドウの位置と不透明度の設定

#--------------------------------------------------------------------------

def reset_window

if $game_temp.in_battle

self.y = 16

self.contents.font.name = "animeace"

else

case $game_system.message_position

when 0 # 上

self.y = 16

self.contents.font.name = "animeace"

when 1 # 中

self.y = 160

self.contents.font.name = "animeace"

when 2 # 下

self.y = 304

self.contents.font.name = "animeace"

end

end

if $game_system.message_frame == 0

self.opacity = 255

self.contents.font.name = "animeace"

else

self.opacity = 0

self.contents.font.name = "animeace"

end

self.back_opacity = FUKI::MES_OPACITY

self.contents.font.name = "animeace"

end

#--------------------------------------------------------------------------

# ○ フレーム更新

#--------------------------------------------------------------------------

def update

super

# フェードインの場合

if @fade_in

self.contents_opacity += 24

self.contents.font.name = "animeace"

if @name_win != nil

@name_win.opacity += 24

end

if @fuki != nil

@fuki.opacity += 24

end

if @input_number_window != nil

@input_number_window.contents_opacity += 24

end

if self.contents_opacity == 255

@fade_in = false

end

return

end

# メッセージ表示中の場合

if @contents_drawing

refresh_drawtext

return

end

# 数値入力中の場合

if @input_number_window != nil

@input_number_window.update

# 決定

if Input.trigger?(Input::C)

$game_system.se_play($data_system.decision_se)

$game_variables[$game_temp.num_input_variable_id] =

@input_number_window.number

$game_map.need_refresh = true

# 数値入力ウィンドウを解放

@input_number_window.dispose

@input_number_window = nil

terminate_message

end

return

end

# メッセージ表示終了の場合

if @contents_showing_end

# 選択肢の表示中でなければポーズサインを表示

# ふきだしモードでは非表示

if $game_temp.choice_max == 0 and @fuki == nil

self.pause = true

self.contents.font.name = "animeace"

else

self.pause = false

self.contents.font.name = "animeace"

end

# キャンセル

if Input.trigger?(Input::B)

if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0

$game_system.se_play($data_system.cancel_se)

$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)

terminate_message

end

end

# 決定

if Input.trigger?(Input::C)

if $game_temp.choice_max > 0

$game_system.se_play($data_system.decision_se)

$game_temp.choice_proc.call(self.index)

end

terminate_message

# ふきだしを破棄

del_fukidasi

end

return

end

# フェードアウト中以外で表示待ちのメッセージか選択肢がある場合

if @fade_out == false and $game_temp.message_text != nil

@contents_showing = true

$game_temp.message_window_showing = true

reset_window

refresh_create

if @name_win != nil

@name_win.opacity = 0

end

if @fuki != nil

@fuki.opacity = 0

end

Graphics.frame_reset

self.visible = true

self.contents_opacity = 0

self.contents.font.name = "animeace"

if @input_number_window != nil

@input_number_window.contents_opacity = 0

end

@fade_in = true

return

end

# 表示すべきメッセージがないが、ウィンドウが可視状態の場合

if self.visible

@fade_out = true

self.opacity -= 48

self.contents.font.name = "animeace"

if @name_win != nil

@name_win.opacity -= 48

end

if @fuki != nil

@fuki.opacity -= 48

end

if self.opacity == 0

self.visible = false

self.contents.font.name = "animeace"

@fade_out = false

$game_temp.message_window_showing = false

del_fukidasi

end

return

end

end

#--------------------------------------------------------------------------

# ○ 解放

#--------------------------------------------------------------------------

def dispose

terminate_message

$game_temp.message_window_showing = false

if @input_number_window != nil

@input_number_window.dispose

end

super

end

#--------------------------------------------------------------------------

# ○ メッセージ終了処理

#--------------------------------------------------------------------------

def terminate_message

self.active = false

self.pause = false

self.index = -1

self.contents.clear

self.contents.font.name = "animeace"

# 表示中フラグをクリア

@contents_showing = false

@contents_showing_end = false

# メッセージ コールバックを呼ぶ

if $game_temp.message_proc != nil

$game_temp.message_proc.call

end

# 文章、選択肢、数値入力に関する変数をクリア

$game_temp.message_text = nil

$game_temp.message_proc = nil

$game_temp.choice_start = 99

$game_temp.choice_max = 0

$game_temp.choice_cancel_type = 0

$game_temp.choice_proc = nil

$game_temp.num_input_start = 99

$game_temp.num_input_variable_id = 0

$game_temp.num_input_digits_max = 0

# ゴールドウィンドウを開放

if @gold_window != nil

@gold_window.dispose

@gold_window = nil

end

end

#--------------------------------------------------------------------------

# ○ カーソルの矩形更新

#--------------------------------------------------------------------------

def update_cursor_rect

if @index >= 0

n = $game_temp.choice_start + @index

self.cursor_rect.set(8, n * 32, @cursor_width, 32)

self.contents.font.name = "animeace"

else

self.cursor_rect.empty

self.contents.font.name = "animeace"

end

end

end

 

#==============================================================================

# ■ Interpreter

#==============================================================================

 

class Interpreter

#--------------------------------------------------------------------------

# ● イベントのセットアップ

# event_id : イベント ID

#--------------------------------------------------------------------------

alias setup_fuki setup

def setup(list, event_id)

setup_fuki(list, event_id)

# 戦闘中でなければ

if !($game_temp.in_battle)

# イベントIDを記録

$active_event_id = event_id

end

end

end

 

#==============================================================================

# ■ Scene_Map

#==============================================================================

 

class Scene_Map

#--------------------------------------------------------------------------

# ● メイン処理

#--------------------------------------------------------------------------

def main

# スプライトセットを作成

@spriteset = Spriteset_Map.new

# メッセージウィンドウを作成

@message_window = Window_FukiMessage.new

# トランジション実行

Graphics.transition

# メインループ

loop do

# ゲーム画面を更新

Graphics.update

# 入力情報を更新

Input.update

# フレーム更新

update

# 画面が切り替わったらループを中断

if $scene != self

break

end

end

# トランジション準備

Graphics.freeze

# スプライトセットを解放

@spriteset.dispose

# メッセージウィンドウを解放

@message_window.dispose

# タイトル画面に切り替え中の場合

if $scene.is_a?(Scene_Title)

# 画面をフェードアウト

Graphics.transition

Graphics.freeze

end

end

end

 

#==============================================================================

# ■ Window_InputNumber

#==============================================================================

 

class Window_InputNumber < Window_Base

#--------------------------------------------------------------------------

# ● オブジェクト初期化

# digits_max : 桁数

#--------------------------------------------------------------------------

def initialize(digits_max)

@digits_max = digits_max

@number = 0

# 数字の幅からカーソルの幅を計算 (0~9 は等幅と仮定)

dummy_bitmap = Bitmap.new(32, 32)

dummy_bitmap.font.size = FUKI::MES_FONT_SIZE

@cursor_width = dummy_bitmap.text_size("0").width + 8

dummy_bitmap.dispose

super(0, 0, @cursor_width * @digits_max + 32, 64)

self.contents = Bitmap.new(width - 32, height - 32)

self.contents.font.size = FUKI::MES_FONT_SIZE

self.z += 9999

self.opacity = 0

self.contents.font.name = "animeace"

@index = 0

refresh

update_cursor_rect

end

end

 

#==============================================================================

# ■ Window_Gold

#==============================================================================

 

class Window_Gold < Window_Base

#--------------------------------------------------------------------------

# ● オブジェクト初期化

#--------------------------------------------------------------------------

def initialize

height = FUKI::MES_FONT_SIZE + 32

super(0, 0, 160, height)

self.contents = Bitmap.new(width - 32, height - 32)

self.back_opacity = FUKI::MES_OPACITY

self.contents.font.size = FUKI::MES_FONT_SIZE

self.contents.font.name = "animeace"

refresh

end

#--------------------------------------------------------------------------

# ● リフレッシュ

#--------------------------------------------------------------------------

def refresh

self.contents.clear

cx = contents.text_size($data_system.words.gold).width

self.contents.font.color = normal_color

self.contents.draw_text(4, 0, 120-cx-2, FUKI::MES_FONT_SIZE, $game_party.gold.to_s, 2)

self.contents.font.color = system_color

self.contents.draw_text(124-cx, 0, cx, FUKI::MES_FONT_SIZE, $data_system.words.gold, 2)

self.contents.font.name = "animeace"

end

end

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

ovunque c'è scritto

self.contents.font.name = "animeace"

 

ho letto 1 solo

self.contents.font.name = "Arial"

 

cambiali tutti. probabilmente sei andato a modificare il font meno usato (forse per mostrare la finestra del denaro? boh! mai letto lo script fuki)

 

EDIT:

chiedi aiuto nel topic in cui è postato lo script, la prossima volta:

meno topic nuovi = meno confusione, più persone leggono i topic già aperti, più possibilità di ricevere aiuto.

Edited by Ziel van Brand
Link to comment
Share on other sites

  • 0
  • 0

uhm... dovrei mettermi a leggere tutto il listato allora. mi sa che in parte il fuki sfrutta lo script "window_message". non ne sono sicuro e, data l'ora, nonmi va di accertarmene (inoltre non ho rpg maker installato sul portatile).

 

chiedi nel topic in cui è postato lo script, è più facile che qualcuno noti il tuo messaggio lì

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...