Project1

标题: 怎么调整人物小头像在CP条上滑动的距离 [打印本页]

作者: Magic    时间: 2008-7-7 22:05
标题: 怎么调整人物小头像在CP条上滑动的距离


如上图  可以看到 这个人物的小头像滑动距离过长,有没有办法缩短在CP跳上滑动的距离?
我用的是这个{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 - 5
  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

复制代码


哪个对脚本有研究的能帮我看看?  感激不尽  {/qiang}
作者: hitlerson    时间: 2008-7-7 22:25
@base.x = XRXS65A::X

貌似这些个x的东西,加个数减个数试试
作者: Magic    时间: 2008-7-7 23:13
我已经知道问题在什么上了   就是不知道这是什么意思  谁能帮我翻译一下?

  1. # 更新
  2.     for set in @icon_set
  3.       set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp - 5
复制代码

作者: Magic    时间: 2008-7-7 23:23
哈哈  我有办法了!

改成这个

  1. # 更新
  2.     for set in @icon_set
  3.       set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp/1.1 + 8
复制代码





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