lunariafantasia/Scripts/_VGA_initialization_.rb
2024-01-12 03:12:38 -06:00

281 lines
No EOL
11 KiB
Ruby
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#==============================================================================
# □ No.023
# 画面サイズVGARPGツクール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