Project1

标题: CP条上的头像问题 [打印本页]

作者: Magic    时间: 2008-7-6 05:24
标题: CP条上的头像问题


大家看上面这个图,CP条上我方头像和敌方头像都在一个Y坐标上,怎么才能把我方头像的Y坐标和敌方头像Y坐标错开(就是一上一下)呢?
作者: Magic    时间: 2008-7-6 05:27
这是我的脚本

AX追加:
  1. # ▼▲▼ XRXS65A. CP制御ターンシステム「シンセ・ゲージ」 ▼▲▼ built201202
  2. # by 桜雅 在土

  3. #==============================================================================
  4. # □ カスタマイズポイント
  5. #==============================================================================
  6. class XRXS65A
  7.   #--------------------------------------------------------------------------
  8.   # 「アイコン設定」
  9.   #--------------------------------------------------------------------------
  10.   DEFAULT = "046-Skill03" # ディフォルトアイコン
  11.   # アイコンハッシュ  記述方式 : アクターID=>アイコン名
  12.   ICONS = {
  13.     1=>"黄志伟",
  14.     2=>"刘亚冲",
  15.     3=>"王剑豪",
  16.     4=>"罗稳"
  17.   }
  18.   # アイコンハッシュE  記述方式 : エネミーID=>アイコン名
  19.   ICONE = {
  20.     18=>"刘凌",
  21.     19=>"吴笛",
  22.     20=>"黄程",
  23.   }
  24.   #--------------------------------------------------------------------------
  25.   # 「シンセ・ゲージ」
  26.   #--------------------------------------------------------------------------
  27.   SKIN = "123"  # スキン
  28.   X    =  350         # X 座標
  29.   Y    =  28          # Y 座標
  30.   Z    =  10        # Z 座標
  31. end
  32. #==============================================================================
  33. # --- CP メーターをまとめて管理するクラス、表示関係はすべてココ --- [再定義]
  34. #==============================================================================
  35. class CP_Meters
  36.   #--------------------------------------------------------------------------
  37.   # ○ オブジェクト初期化
  38.   #--------------------------------------------------------------------------
  39.   def initialize
  40.     # シンセゲージの生成
  41.     @base = Sprite.new
  42.     @base.bitmap = RPG::Cache.windowskin(XRXS65A::SKIN).dup
  43.     @base.x = XRXS65A::X
  44.     @base.y = XRXS65A::Y
  45.     @base.z = XRXS65A::Z
  46.     @width  = @base.bitmap.width
  47.     @height = @base.bitmap.height
  48.     @icon_set = []
  49.     refresh
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ○ リフレッシュ
  53.   #--------------------------------------------------------------------------
  54.   def refresh
  55.     # 生成すべきバトラーの取得
  56.     need_initializes = []
  57.     for battler in $game_party.actors + $game_troop.enemies
  58.       exist = false
  59.       for set in @icon_set
  60.         exist |= (set[1] == battler)
  61.       end
  62.       need_initializes.push(battler) unless exist
  63.     end
  64.     for battler in need_initializes
  65.       iconname = nil
  66.       if battler.is_a?(Game_Actor)
  67.         iconname = XRXS65A::ICONS[battler.id]
  68.       else
  69.         iconname = XRXS65A::ICONE[battler.id]
  70.       end
  71.       if iconname == nil
  72.         iconname = XRXS65A::DEFAULT
  73.       end
  74.       sprite = Sprite.new
  75.       sprite.bitmap = RPG::Cache.icon(iconname).dup
  76.       sprite.y = XRXS65A::Y + @height / 2 - 12
  77.       @icon_set.push([sprite, battler])
  78.     end
  79.     # 更新
  80.     for set in @icon_set
  81.       set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp - 12
  82.       set[0].z = 20
  83.       set[0].visible = false if set[1].dead? or !set[1].exist?
  84.     end
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ○ 可視状態
  88.   #--------------------------------------------------------------------------
  89.   def visible=(b)
  90.     @base.visible = b
  91.     @icon_set.each{|set| set[0].visible = b }
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ○ 解放
  95.   #--------------------------------------------------------------------------
  96.   def dispose
  97.     @base.dispose
  98.     @icon_set.each{|set| set[0].dispose }
  99.   end
  100. end
复制代码

作者: 殲滅天使·玲    时间: 2008-7-6 05:31


给个比较笨的办法..
把头像图片的画布大小改一下``
我方画布下改长一些
敌方上改长一些..
也许可行
作者: 分子轨道理论    时间: 2008-7-6 05:40
for set in @icon_set
      set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp - 12
      set[0].z = 20
      set[0].visible = false if set[1].dead? or !set[1].exist?
    end
加上判断
if set[1].is_a?(Game_Enemy) then
  set[0].y =

作者: redant    时间: 2008-7-6 07:44
PS里直接做好吧
都保存成PNG的
MS更直观些

作者: Magic    时间: 2008-7-6 07:46
嗯…………了解了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1