# ▼▲▼ XRXS65A. CP制御ターンシステム「シンセ・ゲージ」 ▼▲▼ built201202 # by 桜雅 在土 #============================================================================== # □ カスタマイズポイント #============================================================================== class XRXS65A #-------------------------------------------------------------------------- # 「アイコン設定」 #-------------------------------------------------------------------------- DEFAULT = "Enemy" # ディフォルトアイコン # アイコンハッシュ 記述方式 : アクターID=>アイコン名 ICONS = { 1=>"SNOW", 2=>"SNOW", 3=>"SNOW", 4=>"SNOW", 5=>"z3", 6=>"z1", } # アイコンハッシュE 記述方式 : エネミーID=>アイコン名 ICONE = {1=>"z1副",2=>"z3副",3=>"SNOW副",4=>"Enemy紫",5=>"z3",8=>"z1",9=>"z1"} #-------------------------------------------------------------------------- # 「シンセ・ゲージ」 #-------------------------------------------------------------------------- SKIN = "Line" # スキン X = 16 # X 座標 Y = 18 # Y 座標 end #============================================================================== # --- CP メーターをまとめて管理するクラス、表示関係はすべてココ --- [再定義] #============================================================================== class CP_Meters #-------------------------------------------------------------------------- # ○ オブジェクト初期化 #-------------------------------------------------------------------------- def initialize # シンセゲージの生成 @base = Sprite.new @base.bitmap = RPG::Cache.windowskin(XRXS65A::SKIN).dup @base.x = XRXS65A::X @base.y = XRXS65A::Y @base.z = XRXS65A::X @width = @base.bitmap.width [url=home.php?mod=space&uid=291977]@height[/url] = @base.bitmap.height @icon_set = [] refresh end #-------------------------------------------------------------------------- # ○ リフレッシュ #-------------------------------------------------------------------------- def refresh # 生成すべきバトラーの取得 need_initializes = [] for battler in $game_party.actors + $game_troop.enemies exist = false for set in @icon_set set[0].visible = true if set[0].visible ==false exist |= (set[1] == battler) end need_initializes.push(battler) unless exist end for battler in need_initializes iconname = nil if battler.is_a?(Game_Actor) iconname = XRXS65A::ICONS[battler.id] else iconname = XRXS65A::ICONE[battler.id] end if iconname == nil iconname = XRXS65A::DEFAULT end sprite = Sprite.new sprite.bitmap = RPG::Cache.icon(iconname).dup sprite.y = XRXS65A::Y + @height / 2 - 12 @icon_set.push([sprite, battler]) end # 更新 for set in @icon_set set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp - 12 set[0].z = set[0].x set[0].visible = false if set[1].dead? or !set[1].exist? end end #-------------------------------------------------------------------------- # ○ 可視状態 #-------------------------------------------------------------------------- def visible=(b) @base.visible = b @icon_set.each{|set| set[0].visible = b } end #-------------------------------------------------------------------------- # ○ 解放 #-------------------------------------------------------------------------- def dispose @base.dispose @icon_set.each{|set| set[0].dispose } end end
BUG尼嚎.jpg (15.85 KB, 下载次数: 6)
228.16 KB, 下载次数: 54
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |