RPGツクールXP/VX用のRGSS素材です。
一部英語版対応です。
(A few materials can be used for English RPG MAKER XP/VX.)
競合率はルファーの独断と偏見なのでたまにハズレます。
#==============================================================================
# ■ ワイドモード
#------------------------------------------------------------------------------
# 一時的に画面のアスペクト比を16:9っぽくします。って上下に黒帯描くだけだけど。
# (C) ルファー
# WebSite https://tkoolerlufar.pages.dev/
#==============================================================================
=begin
=対応RGSS
1
=他の素材との競合の可能性
!.. 大丈夫だと思う、多分
=導入方法
Window_Messageより下に新セクションを作成して、
このプログラムをそこにコピーする
=使い方
イベントコマンド「スクリプト」で、
$game_screen.wide = true
という処理を入れると、黒帯が出ます。
$game_screen.wide = nil
という処理を入れると、黒帯が消えます。
=備考
ワイドにすると文章ウィンドウも合わせて移動するようになってます。
ただし文章ウィンドウ改造系素材を入れている場合はそうならないかもしれません。
=更新履歴
2010/04/13 公開
=再定義しているメソッド (いずれもエイリアス使用)
Game_Screen#initialize
Spriteset_Map#initialize
Spriteset_Map#dispose
Spriteset_Map#update
Window_Message#reset_window
=新規定義しているプロパティ
Game_Screen#wide
=end
#----------------------------------------------------------------------------
# ◇ Lufar モジュール
#----------------------------------------------------------------------------
module Lufar
WIDEMODE = nil
end
#----------------------------------------------------------------------------
# ◆ Game_Screen クラス
#----------------------------------------------------------------------------
class Game_Screen
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :wide ## 16:9 ワイドフラグ
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias _Lufar_PrototypeOfInitialization initialize
def initialize
_Lufar_PrototypeOfInitialization()
@wide = false
end
end
#----------------------------------------------------------------------------
# ◆ Game_Screen クラス
#----------------------------------------------------------------------------
class Spriteset_Map
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias _Lufar_PrototypeOfInitialization initialize
def initialize
black_color = Color.new(0.0, 0.0, 0.0)
@wide_sprite = Sprite.new()
@wide_sprite.z = 077777
@wide_sprite.bitmap = Bitmap.new(640, 480)
@wide_sprite.bitmap.fill_rect(0, 0, 640, 60, black_color)
@wide_sprite.bitmap.fill_rect(0, 420, 640, 60, black_color)
_Lufar_PrototypeOfInitialization()
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
alias _Lufar_PrototypeOfDisposition dispose
def dispose
_Lufar_PrototypeOfDisposition
@wide_sprite.bitmap.dispose
@wide_sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias _Lufar_PrototypeOfUpdating update
def update
_Lufar_PrototypeOfUpdating
@wide_sprite.visible = $game_screen.wide
end
end
#----------------------------------------------------------------------------
# ◆ Window_Message クラス
#----------------------------------------------------------------------------
class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# ● ウィンドウの位置と不透明度の設定
#--------------------------------------------------------------------------
alias _Lufar_PrototypeOfRw reset_window
def reset_window
_Lufar_PrototypeOfRw
return unless $game_screen.wide
position = $game_temp.in_battle ? 0 : $game_system.message_position
case position
when 0 # 上
self.y += 60
when 2 # 下
self.y -= 60
end
end
end
戻る