281 lines
No EOL
11 KiB
Ruby
281 lines
No EOL
11 KiB
Ruby
#==============================================================================
|
||
# □ No.023
|
||
# 画面サイズVGA(RPGツクールVX Ace)
|
||
#------------------------------------------------------------------------------
|
||
# by initialization
|
||
#==============================================================================
|
||
|
||
#==============================================================================
|
||
# □ 設定
|
||
#==============================================================================
|
||
module RGSSinit end
|
||
module RGSSinit::Screen_Size_Change
|
||
#--------------------------------------------------------------------------
|
||
# ○ 素材スイッチ(true/false)
|
||
#--------------------------------------------------------------------------
|
||
MATERIAL_SWITCH = true
|
||
#--------------------------------------------------------------------------
|
||
# ○ 戦闘画面の画像サポート
|
||
#--------------------------------------------------------------------------
|
||
BATTLE_TYPE = 2
|
||
#--------------------------------------------------------------------------
|
||
# ○ タイトル画面の画像サポート
|
||
#--------------------------------------------------------------------------
|
||
TITLE_TYPE = 2
|
||
#--------------------------------------------------------------------------
|
||
# ○ ゲームオーバー画面の画像サポート
|
||
#--------------------------------------------------------------------------
|
||
GAMEOVER_TYPE = 1
|
||
#--------------------------------------------------------------------------
|
||
# ○ メッセージウィンドウの幅の調整フラグ(true/false)
|
||
#--------------------------------------------------------------------------
|
||
MESSAGE_WINDOW_ADJUSTMENT = true
|
||
#--------------------------------------------------------------------------
|
||
# ○ メッセージウィンドウの幅の設定
|
||
#--------------------------------------------------------------------------
|
||
WIDTH = 640 #544
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Object
|
||
#==============================================================================
|
||
class Object
|
||
#--------------------------------------------------------------------------
|
||
# ○ アクセス省略化
|
||
#--------------------------------------------------------------------------
|
||
RGSSinit023 = RGSSinit::Screen_Size_Change
|
||
end
|
||
|
||
#==============================================================================
|
||
# □ 画面サイズVGA
|
||
#==============================================================================
|
||
$rgssinit ||= {} ; $rgssinit["画面サイズVGA"] = RGSSinit023::MATERIAL_SWITCH
|
||
|
||
if $rgssinit["画面サイズVGA"]
|
||
|
||
if RGSSinit023::MESSAGE_WINDOW_ADJUSTMENT
|
||
#==============================================================================
|
||
# ■ Window_Message
|
||
#==============================================================================
|
||
class Window_Message < Window_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● オブジェクト初期化 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def initialize
|
||
super(window_x, 0, window_width, window_height)
|
||
self.z = 200
|
||
self.openness = 0
|
||
create_all_windows
|
||
create_back_bitmap
|
||
create_back_sprite
|
||
clear_instance_variables
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ ウィンドウの横の位置
|
||
#--------------------------------------------------------------------------
|
||
def window_x
|
||
(Graphics.width - window_width) / 2
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ ウィンドウの幅の位置
|
||
#--------------------------------------------------------------------------
|
||
def window_width
|
||
RGSSinit023::WIDTH
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● ウィンドウ位置の更新 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def update_placement
|
||
@position = $game_message.position
|
||
self.y = @position * (Graphics.height - height) / 2
|
||
=begin
|
||
case $game_message.position
|
||
when 0
|
||
self.y += 8 #32
|
||
when 2
|
||
self.y -= 8 #32
|
||
end
|
||
=end
|
||
@gold_window.y = y > 0 ? 0 : Graphics.height - @gold_window.height
|
||
@back_sprite.x = (Graphics.width - width) / 2 if @background == 1
|
||
end
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Spriteset_Battle
|
||
#==============================================================================
|
||
class Spriteset_Battle
|
||
#--------------------------------------------------------------------------
|
||
# ● 戦闘背景(床)スプライトの作成 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback1
|
||
case RGSSinit023::BATTLE_TYPE
|
||
when 1
|
||
create_battleback1_type1
|
||
when 2
|
||
create_battleback1_type2
|
||
else
|
||
@back1_sprite = Sprite.new(@viewport1)
|
||
@back1_sprite.bitmap = battleback1_bitmap
|
||
@back1_sprite.z = 0
|
||
center_sprite(@back1_sprite)
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 戦闘背景(床)スプライトの作成:引き伸ばし
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback1_type1
|
||
battleback1_bg = battleback1_bitmap
|
||
resize = Bitmap.new(676, 516)
|
||
resize.stretch_blt(resize.rect, battleback1_bg, battleback1_bg.rect)
|
||
@back1_sprite = Sprite.new(@viewport1)
|
||
@back1_sprite.bitmap = resize
|
||
@back1_sprite.z = 0
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 戦闘背景(床)スプライトの作成:左上表示
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback1_type2
|
||
@back1_sprite = Sprite.new(@viewport1)
|
||
@back1_sprite.bitmap = battleback1_bitmap
|
||
@back1_sprite.z = 0
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 戦闘背景(壁)スプライトの作成 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback2
|
||
case RGSSinit023::BATTLE_TYPE
|
||
when 1
|
||
create_battleback2_type1
|
||
when 2
|
||
create_battleback2_type2
|
||
else
|
||
@back2_sprite = Sprite.new(@viewport1)
|
||
@back2_sprite.bitmap = battleback2_bitmap
|
||
@back2_sprite.z = 1
|
||
center_sprite(@back2_sprite)
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 戦闘背景(壁)スプライトの作成:引き伸ばし
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback2_type1
|
||
battleback2_bg = battleback2_bitmap
|
||
resize = Bitmap.new(676, 516)
|
||
resize.stretch_blt(resize.rect, battleback2_bg, battleback2_bg.rect)
|
||
@back2_sprite = Sprite.new(@viewport1)
|
||
@back2_sprite.bitmap = resize
|
||
@back2_sprite.z = 1
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 戦闘背景(壁)スプライトの作成:左上表示
|
||
#--------------------------------------------------------------------------
|
||
def create_battleback2_type2
|
||
@back2_sprite = Sprite.new(@viewport1)
|
||
@back2_sprite.bitmap = battleback2_bitmap
|
||
@back2_sprite.z = 1
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Scene_Title
|
||
#==============================================================================
|
||
class Scene_Title < Scene_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の作成 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def create_background
|
||
case RGSSinit023::TITLE_TYPE
|
||
when 1
|
||
create_background_type1
|
||
when 2
|
||
create_background_type2
|
||
else
|
||
@sprite1 = Sprite.new
|
||
@sprite1.bitmap = Cache.title1($data_system.title1_name)
|
||
@sprite2 = Sprite.new
|
||
@sprite2.bitmap = Cache.title2($data_system.title2_name)
|
||
center_sprite(@sprite1)
|
||
center_sprite(@sprite2)
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 背景の作成:引き伸ばし
|
||
#--------------------------------------------------------------------------
|
||
def create_background_type1
|
||
title_bg1 = Cache.title1($data_system.title1_name)
|
||
title_bg2 = Cache.title2($data_system.title2_name)
|
||
resize1 = resize2 = Bitmap.new(640, 480)
|
||
resize1.stretch_blt(resize1.rect, title_bg1, title_bg1.rect)
|
||
resize2.stretch_blt(resize2.rect, title_bg2, title_bg2.rect)
|
||
@sprite1 = @sprite2 = Sprite.new
|
||
@sprite1.bitmap = resize1
|
||
@sprite2.bitmap = resize2
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 背景の作成:左上表示
|
||
#--------------------------------------------------------------------------
|
||
def create_background_type2
|
||
@sprite1 = Sprite.new
|
||
@sprite1.bitmap = Cache.title1($data_system.title1_name)
|
||
@sprite2 = Sprite.new
|
||
@sprite2.bitmap = Cache.title2($data_system.title2_name)
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Scene_Gameover
|
||
#==============================================================================
|
||
class Scene_Gameover < Scene_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の作成 [再定義]
|
||
#--------------------------------------------------------------------------
|
||
def create_background
|
||
case RGSSinit023::GAMEOVER_TYPE
|
||
when 1
|
||
create_background_type1
|
||
when 2
|
||
create_background_type2
|
||
else
|
||
@sprite = Sprite.new
|
||
@sprite.bitmap = Cache.system("GameOver")
|
||
end
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 背景の作成:引き伸ばし
|
||
#--------------------------------------------------------------------------
|
||
def create_background_type1
|
||
gameover_bg = Cache.system("GameOver")
|
||
resize = Bitmap.new(640, 480)
|
||
resize.stretch_blt(resize.rect, gameover_bg, gameover_bg.rect)
|
||
@sprite = Sprite.new
|
||
@sprite.bitmap = resize
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ 背景の作成:中央寄せ
|
||
#--------------------------------------------------------------------------
|
||
def create_background_type2
|
||
@sprite = Sprite.new
|
||
@sprite.bitmap = Cache.system("GameOver")
|
||
center_sprite(@sprite)
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ○ スプライトを画面中央に移動
|
||
#--------------------------------------------------------------------------
|
||
def center_sprite(sprite)
|
||
sprite.ox = sprite.bitmap.width / 2
|
||
sprite.oy = sprite.bitmap.height / 2
|
||
sprite.x = Graphics.width / 2
|
||
sprite.y = Graphics.height / 2
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Object
|
||
#==============================================================================
|
||
class Object
|
||
Graphics.resize_screen(640, 480)
|
||
end
|
||
|
||
end |