#製作者:奈々(なな)
#このスクリプトは製作途中のサンプルです。作品への利用はご遠慮願います。
module Nana
module MoonPhase
#月相を格納する変数ID(イベントチェック用)
#新月を0、満月を4とし、0,1,2,3,4,5,6,7と移行する
PHASE_VAL = 0
#月相を格納する変数ID(戦闘計算用)
#新月を0、満月を100とし、0,25,50,75,100,75,50,25と移行する
MOON_VAL = 0
#月相に対応するスイッチID
#新月から順に、対応するスイッチがONに、それ以外がOFFになる
PHASE_SWS = [0, 0, 0, 0, 0, 0, 0]
#月相を一時的に非表示にするスイッチID
NULL_SW = 0
#マップ画面において、月相が変化する歩数
WALK = 4
#バトル画面において、月相が変化するターン数
TURN = 1
#月グラフィックの位置(マップ画面)
# 0:非表示 1:左寄せ 2:中央寄せ 3:右寄せ
MAP_POS = 1
#XY座標の調整値
MAP_AX = 2
MAP_AY = 2
#月グラフィックの位置(バトル画面)
# 0:非表示 1:左寄せ 2:中央寄せ 3:右寄せ
BATTLE_POS = 1
#XY座標の調整値
BATTLE_AX = 2
BATTLE_AY = 2
end
end
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :moon_phase # 月相
attr_accessor :moon_count # 月相カウント
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias moon_initialize initialize
def initialize
moon_initialize
@moon_phase = 0
@moon_count = 0
end
end
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
# マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
# Scene_Map クラスの内部で使用されます。
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● タイマースプライトの作成
#--------------------------------------------------------------------------
#initializeをaliasすると都合が悪いのでここに挿入
alias moon_create_timer create_timer
def create_timer
moon_create_timer
create_moon
end
#--------------------------------------------------------------------------
# ● 月相の作成
#--------------------------------------------------------------------------
def create_moon
@moon = Sprite_Moon.new(@viewport1)
@moon.z = 500
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
alias moon_dispose dispose
def dispose
moon_dispose
@moon.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias moon_update update
def update
moon_update
@moon.update if @moon
end
end
#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
# バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
# スの内部で使用されます。
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● 戦闘背景(床)スプライトの作成
#--------------------------------------------------------------------------
alias moon_create_battleback1 create_battleback1
def create_battleback1
moon_create_battleback1
create_moon
end
#--------------------------------------------------------------------------
# ● 月相の作成
#--------------------------------------------------------------------------
def create_moon
@moon = Sprite_Moon.new(@viewport1)
@moon.z = 5
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
alias moon_dispose dispose
def dispose
moon_dispose
@moon.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias moon_update update
def update
moon_update
@moon.update if @moon
end
end