Project1
标题:
CP战斗系统中我方和敌方图标盖在窗口上了……
[打印本页]
作者:
sjkd34
时间:
2009-1-10 22:09
标题:
CP战斗系统中我方和敌方图标盖在窗口上了……
就是CP槽上的图标,会盖在在选择敌人时(最顶端出现敌人状态)的状态条上,怎样把它弄下去? [LINE]1,#dddddd[/LINE]
此贴于 2009-1-11 22:51:02 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2009-1-11 22:57:30 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
darkten
时间:
2009-1-11 00:40
你是用这个脚本吗?
“CP制战斗 改进版(显示全局CP)”
http://rpg.blue/web/htm/news474.htm
如果是的话请往下看,不是的话就无视吧...
忘了如何改...以前解决问题的帖子又找不回来...
直接贴出脚本算了...
覆盖原有的[AX追加]就行了...
#=begin
# ▼▲▼ XRXS65A. CP制御ターンシステム「シンセ・ゲージ」 ▼▲▼ built201202
# by 桜雅 在土
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
class XRXS65A
#--------------------------------------------------------------------------
# 「アイコン設定」
#--------------------------------------------------------------------------
DEFAULT = "046-Skill03" # ディフォルトアイコン
# アイコンハッシュ 記述方式 : アクターID=>アイコン名
ICONS = {
1=>"",
2=>"",
3=>"",
4=>""
}
# アイコンハッシュE 記述方式 : エネミーID=>アイコン名
ICONE = {
1=>"",
2=>"",
3=>"",
5=>"",
6=>"",
7=>"",
8=>"",
9=>"",
10=>"",
}
#--------------------------------------------------------------------------
# 「シンセ・ゲージ」
#--------------------------------------------------------------------------
SKIN = "CP_Bar" # スキン
X = 70 # X 座標
Y = 63 # 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
@height = @base.bitmap.height
@icon_set = []
refresh
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
# 生成すべきバトラーの取得
need_initializes = []
for battler in $game_party.actors + $game_troop.enemies
exist = false
# need_initializes.push(battler) unless exist
for set in @icon_set
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 - 24
@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 = XRXS65A::X#set[0].x
# set[0].visible = false if set[1].dead? or !set[1].exist?
if set[1].dead? or !set[1].exist?
set[0].visible = false
else
set[0].visible = true
end
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
#=end
复制代码
解决了的问题:
1. 图标的优先度高过一般的窗口...
2. 死亡角色复活后图标不重现的问题... [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1