Screens:
http://img80.imageshack.us/img80/5876/s ... ityau2.png[/IMG]
http://img147.imageshack.us/img147/9608 ... entgv8.png[/IMG]
Credits:
Leviathan_12
Montana':|
http://img80.imageshack.us/img80/5876/s ... ityau2.png[/IMG]
http://img147.imageshack.us/img147/9608 ... entgv8.png[/IMG]
Code:
#==============================================================================
#------------------------------------------------------------------------------
#  スã‚ル画é¢ã§ã€ã‚¹ã‚ル使用者ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’表示ã™ã‚‹ã‚¦ï¿½
#==============================================================================
class Window_FS < Window_Base
#--------------------------------------------------------------------------
# â— ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆåˆæœŸåŒ–
# actor : アクター
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 640, 180)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial" # "Skill" status window font
self.contents.font.size = 22
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ◠リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_graphic(@actor, 50, 80)
draw_actor_class(@actor, 180,0)
draw_actor_level(@actor, 0,80)
draw_actor_name(@actor, 65, 0)
draw_actor_state(@actor, 65, 20)
draw_actor_hp(@actor, 0, 100)
draw_actor_sp(@actor, 0, 120)
self.contents.font.color = system_color
self.contents.draw_text(180, 80, 80, 32, "Exp:")
self.contents.draw_text(180, 112, 80, 32, "Next Level:")
self.contents.font.color = normal_color
self.contents.draw_text(180 + 80, 80, 84, 32, @actor.exp_s, 2)
self.contents.draw_text(180 + 80, 112, 84, 32, @actor.next_rest_exp_s, 2)
self.contents.font.size = 60
self.contents.draw_text(430, 30, 150, 82, "Status")
end
end
#==============================================================================
#------------------------------------------------------------------------------
#  スã‚ル画é¢ã§ã€ã‚¹ã‚ル使用者ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’表示ã™ã‚‹ã‚¦ï¿½
#==============================================================================
class Window_FS2 < Window_Base
#--------------------------------------------------------------------------
# â— ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆåˆæœŸåŒ–
# actor : アクター
#--------------------------------------------------------------------------
def initialize(actor)
super(0,180, 640, 300)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial" # "Skill" status window font
self.contents.font.size = 25
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ◠リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_parameter(@actor, 40, 50, 0)
draw_actor_parameter(@actor, 40, 120, 1)
draw_actor_parameter(@actor, 40, 190, 2)
draw_actor_parameter(@actor, 240, 40, 3)
draw_actor_parameter(@actor, 240, 100, 4)
draw_actor_parameter(@actor, 240, 160, 5)
draw_actor_parameter(@actor, 240, 220, 6)
self.contents.font.color = system_color
self.contents.font.size = 30
self.contents.draw_text(0,10, 80, 32, "Ability")
end
end
#==============================================================================
#------------------------------------------------------------------------------
#  スã‚ル画é¢ã§ã€ã‚¹ã‚ル使用者ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’表示ã™ã‚‹ã‚¦ï¿½
#==============================================================================
class Window_FS3 < Window_Base
#--------------------------------------------------------------------------
# â— ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆåˆæœŸåŒ–
# actor : アクター
#--------------------------------------------------------------------------
def initialize(actor)
super(0,180, 640, 300)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial" # "Skill" status window font
self.contents.font.size = 25
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ◠リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.size = 30
self.contents.draw_text(0, 10, 150, 60, "Equipment")
self.contents.font.size = 25
draw_item_name($data_weapons[@actor.weapon_id], 200 + 16, 20)
draw_item_name($data_armors[@actor.armor1_id], 200 + 16, 60)
draw_item_name($data_armors[@actor.armor2_id], 200 + 16, 100)
draw_item_name($data_armors[@actor.armor3_id], 200 + 16, 140)
draw_item_name($data_armors[@actor.armor4_id], 200 + 16, 180)
end
def dummy
self.contents.font.color = system_color
self.contents.draw_text(200, 20, 96, 32, $data_system.words.weapon)
self.contents.draw_text(200, 60, 96, 32, $data_system.words.armor1)
self.contents.draw_text(200, 100, 96, 32, $data_system.words.armor2)
self.contents.draw_text(200, 140, 96, 32, $data_system.words.armor3)
self.contents.draw_text(200, 180, 96, 32, $data_system.words.armor4)
draw_item_name($data_weapons[@actor.weapon_id], 200 + 24, 20)
draw_item_name($data_armors[@actor.armor1_id], 200 + 24, 60)
draw_item_name($data_armors[@actor.armor2_id], 200 + 24, 100)
draw_item_name($data_armors[@actor.armor3_id], 200 + 24, 140)
draw_item_name($data_armors[@actor.armor4_id], 200 + 24, 180)
end
end
#==============================================================================
# â– Scene_Status
#------------------------------------------------------------------------------
#  ステータス画é¢ã®å‡¦ç†ã‚’行ã†ã‚¯ãƒ©ã‚¹ã§ã™ã€‚
#==============================================================================
class Scene_Status
#--------------------------------------------------------------------------
# â— ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆåˆæœŸåŒ–
# actor_index : アクターインデックス
#--------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# ◠メイン処ç†
#--------------------------------------------------------------------------
def main
# アクターをå–å¾—
@actor = $game_party.actors[@actor_index]
# ステータスウィンドウを作æˆ
@status_window = Window_FS.new(@actor)
@status2_window = Window_FS2.new(@actor)
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画é¢ã‚’æ›´æ–°
Graphics.update
# å…¥åŠ›æƒ…å ±ã‚’æ›´æ–°
Input.update
# フレーム更新
update
# ç”»é¢ãŒåˆ‡ã‚Šæ›¿ã‚ã£ãŸã‚‰ãƒ«ãƒ¼ãƒ—ã‚’ä¸æ–
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@status_window.dispose
@status2_window.dispose
end
#--------------------------------------------------------------------------
# ◠フレーム更新
#--------------------------------------------------------------------------
def update
# B ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::B)
# ã‚ャンセル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cancel_se)
# メニュー画é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Menu.new(3)
return
end
# R ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::R)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# 次ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
@actor_index += 1
@actor_index %= $game_party.actors.size
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status2.new(@actor_index)
return
end
# L ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::L)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# å‰ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status2.new(@actor_index)
return
end
# L ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input:: C)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# å‰ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status3.new(@actor_index)
return
end
end
end
#==============================================================================
# â– Scene_Status3
#------------------------------------------------------------------------------
#  ステータス画é¢ã®å‡¦ç†ã‚’行ã†ã‚¯ãƒ©ã‚¹ã§ã™ã€‚
#==============================================================================
class Scene_Status3
#--------------------------------------------------------------------------
# â— ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆåˆæœŸåŒ–
# actor_index : アクターインデックス
#--------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# ◠メイン処ç†
#--------------------------------------------------------------------------
def main
# アクターをå–å¾—
@actor = $game_party.actors[@actor_index]
# ステータスウィンドウを作æˆ
@status_window = Window_FS.new(@actor)
@status2_window = Window_FS3.new(@actor)
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画é¢ã‚’æ›´æ–°
Graphics.update
# å…¥åŠ›æƒ…å ±ã‚’æ›´æ–°
Input.update
# フレーム更新
update
# ç”»é¢ãŒåˆ‡ã‚Šæ›¿ã‚ã£ãŸã‚‰ãƒ«ãƒ¼ãƒ—ã‚’ä¸æ–
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@status_window.dispose
@status2_window.dispose
end
#--------------------------------------------------------------------------
# ◠フレーム更新
#--------------------------------------------------------------------------
def update
# B ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::B)
# ã‚ャンセル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cancel_se)
# メニュー画é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Menu.new(3)
return
end
# R ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::R)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# 次ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
@actor_index += 1
@actor_index %= $game_party.actors.size
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status2.new(@actor_index)
return
end
# L ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input::L)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# å‰ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status2.new(@actor_index)
return
end
# L ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå ´åˆ
if Input.trigger?(Input:: C)
# カーソル SE ã‚’æ¼”å¥
$game_system.se_play($data_system.cursor_se)
# å‰ã®ã‚¢ã‚¯ã‚¿ãƒ¼ã¸
# 別ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç”»é¢ã«åˆ‡ã‚Šæ›¿ãˆ
$scene = Scene_Status.new(@actor_index)
return
end
end
end
Credits:
Leviathan_12
Montana':|