Project1

标题: 帮忙修改下脚本``` [打印本页]

作者: koalli    时间: 2007-6-28 16:48
标题: 帮忙修改下脚本```
  1. class Scene_Battle_CP
  2.   include SetCP
  3.   attr_accessor :stop
  4.   attr_accessor :ttbar
  5.   attr_accessor :refresh
  6.   BATTLE_SPEED = 0.8
  7.   def initialize
  8.     # 刷新标志
  9.     @refresh = Hash.new(false)
  10.     @stop = false
  11.     @all_agi = 0
  12.     @v = Viewport.new(150-64, 32, 14, 172)
  13.     @v.z = 60
  14.     @cpbar = Sprite.new(@v)
  15.     @cpbar.bitmap = RPG::Cache.system("atb")
  16.     @ttbar = {}
  17.     for battler in $game_party.actors + $game_troop.enemies
  18.       @all_agi += battler.agi
  19.       @ttbar[battler] = CPSprite.new
  20.       if battler.is_a?(Game_Actor)
  21.         @ttbar[battler].bitmap = RPG::Cache.system("actor").dup
  22.         bitmap = RPG::Cache.system(Bar[battler.type][0])
  23.         @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  24.         @ttbar[battler].x = 150-64-27
  25.       else
  26.         @ttbar[battler].bitmap = RPG::Cache.system("enemy").dup
  27.         bitmap = RPG::Cache.system(Bar[battler.type][0])
  28.         @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  29.         @ttbar[battler].x = 150 - 63
  30.       end
  31.       @ttbar[battler].z = 101
  32.       @ttbar[battler].visible = false
  33.     end
  34.   end
  35.   def update
  36.     @ttbar.each{|key, value|
  37.     if value.disposed?
  38.       @ttbar.delete(key)
  39.       next
  40.     end
  41.     value.update}
  42.     return if @stop
  43.     for battler in $game_party.actors + $game_troop.enemies
  44.       if battler.dead?
  45.         if @ttbar.include?(battler)
  46.           @ttbar[battler].collapse
  47.           #@ttbar[battler].dispose
  48.           #@ttbar.delete(battler)
  49.         end
  50.         battler.cp = 0
  51.         next
  52.       end
  53.       battler.cp = [[battler.cp + BATTLE_SPEED * 10 * battler.agi / @all_agi, 0].max,100].min  
  54.       if battler.cp == battler.maxcp
  55.         @refresh[battler] = false
  56.         case battler
  57.         when Game_Actor
  58.           @ttbar[battler].bitmap = RPG::Cache.system("actor_active").dup
  59.           bitmap = RPG::Cache.system(Bar[battler.type][1])
  60.           @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  61.         when Game_Enemy
  62.           @ttbar[battler].bitmap = RPG::Cache.system("enemy_active").dup
  63.           bitmap = RPG::Cache.system(Bar[battler.type][1])
  64.           @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  65.         end
  66.         @ttbar[battler].z = 200
  67.       elsif battler.cp != battler.maxcp and @refresh[battler] == true
  68.         @refresh[battler] = false
  69.         case battler
  70.         when Game_Actor
  71.           @ttbar[battler].bitmap = RPG::Cache.system("actor").dup
  72.           bitmap = RPG::Cache.system(Bar[battler.type][0])
  73.           @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  74.         when Game_Enemy
  75.           @ttbar[battler].bitmap = RPG::Cache.system("enemy").dup
  76.           bitmap = RPG::Cache.system(Bar[battler.type][0])
  77.           @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  78.         end
  79.         @ttbar[battler].z = 100
  80.       end
  81.       @ttbar[battler].visible = true if @ttbar[battler].visible == false
  82.       @ttbar[battler].y  = (142 - (battler.cp * 135 / battler.maxcp)) + 32-7
  83.     end
  84.   end
  85.   def dispose
  86.     @v.dispose
  87.     @cpbar.dispose
  88.     for v in @ttbar.values
  89.       v.dispose
  90.     end
  91.   end
  92.   class CPSprite < ::Sprite
  93.     def initialize(v=nil)
  94.       super
  95.       @_collapse_duration = 0
  96.     end
  97.     def collapse
  98.       self.blend_type = 1
  99.       self.color.set(255, 64, 64, 255)
  100.       self.opacity = 255
  101.       @_collapse_duration = 30
  102.     end
  103.     def update
  104.       super
  105.       if @_collapse_duration > 0
  106.         @_collapse_duration -= 1
  107.         self.opacity = 256 - (30 - @_collapse_duration) * 9
  108.       end
  109.       if self.opacity == 0
  110.         self.dispose
  111.       end
  112.     end
  113.   end
  114. end
复制代码

这个是从战斗真位移里面弄下来的。我想把Y调大点。可是修改了好多地方都是错的。

会变成攻击打到后Y先下降再上升(图标先升上去又掉下来。。。)

本来应该是打到后图标直接下降。实在是改不出来这个效果。。。

会的或作者进来帮忙下。。。
作者: koalli    时间: 2007-6-28 16:48
标题: 帮忙修改下脚本```
  1. class Scene_Battle_CP
  2.   include SetCP
  3.   attr_accessor :stop
  4.   attr_accessor :ttbar
  5.   attr_accessor :refresh
  6.   BATTLE_SPEED = 0.8
  7.   def initialize
  8.     # 刷新标志
  9.     @refresh = Hash.new(false)
  10.     @stop = false
  11.     @all_agi = 0
  12.     @v = Viewport.new(150-64, 32, 14, 172)
  13.     @v.z = 60
  14.     @cpbar = Sprite.new(@v)
  15.     @cpbar.bitmap = RPG::Cache.system("atb")
  16.     @ttbar = {}
  17.     for battler in $game_party.actors + $game_troop.enemies
  18.       @all_agi += battler.agi
  19.       @ttbar[battler] = CPSprite.new
  20.       if battler.is_a?(Game_Actor)
  21.         @ttbar[battler].bitmap = RPG::Cache.system("actor").dup
  22.         bitmap = RPG::Cache.system(Bar[battler.type][0])
  23.         @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  24.         @ttbar[battler].x = 150-64-27
  25.       else
  26.         @ttbar[battler].bitmap = RPG::Cache.system("enemy").dup
  27.         bitmap = RPG::Cache.system(Bar[battler.type][0])
  28.         @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  29.         @ttbar[battler].x = 150 - 63
  30.       end
  31.       @ttbar[battler].z = 101
  32.       @ttbar[battler].visible = false
  33.     end
  34.   end
  35.   def update
  36.     @ttbar.each{|key, value|
  37.     if value.disposed?
  38.       @ttbar.delete(key)
  39.       next
  40.     end
  41.     value.update}
  42.     return if @stop
  43.     for battler in $game_party.actors + $game_troop.enemies
  44.       if battler.dead?
  45.         if @ttbar.include?(battler)
  46.           @ttbar[battler].collapse
  47.           #@ttbar[battler].dispose
  48.           #@ttbar.delete(battler)
  49.         end
  50.         battler.cp = 0
  51.         next
  52.       end
  53.       battler.cp = [[battler.cp + BATTLE_SPEED * 10 * battler.agi / @all_agi, 0].max,100].min  
  54.       if battler.cp == battler.maxcp
  55.         @refresh[battler] = false
  56.         case battler
  57.         when Game_Actor
  58.           @ttbar[battler].bitmap = RPG::Cache.system("actor_active").dup
  59.           bitmap = RPG::Cache.system(Bar[battler.type][1])
  60.           @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  61.         when Game_Enemy
  62.           @ttbar[battler].bitmap = RPG::Cache.system("enemy_active").dup
  63.           bitmap = RPG::Cache.system(Bar[battler.type][1])
  64.           @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  65.         end
  66.         @ttbar[battler].z = 200
  67.       elsif battler.cp != battler.maxcp and @refresh[battler] == true
  68.         @refresh[battler] = false
  69.         case battler
  70.         when Game_Actor
  71.           @ttbar[battler].bitmap = RPG::Cache.system("actor").dup
  72.           bitmap = RPG::Cache.system(Bar[battler.type][0])
  73.           @ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
  74.         when Game_Enemy
  75.           @ttbar[battler].bitmap = RPG::Cache.system("enemy").dup
  76.           bitmap = RPG::Cache.system(Bar[battler.type][0])
  77.           @ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
  78.         end
  79.         @ttbar[battler].z = 100
  80.       end
  81.       @ttbar[battler].visible = true if @ttbar[battler].visible == false
  82.       @ttbar[battler].y  = (142 - (battler.cp * 135 / battler.maxcp)) + 32-7
  83.     end
  84.   end
  85.   def dispose
  86.     @v.dispose
  87.     @cpbar.dispose
  88.     for v in @ttbar.values
  89.       v.dispose
  90.     end
  91.   end
  92.   class CPSprite < ::Sprite
  93.     def initialize(v=nil)
  94.       super
  95.       @_collapse_duration = 0
  96.     end
  97.     def collapse
  98.       self.blend_type = 1
  99.       self.color.set(255, 64, 64, 255)
  100.       self.opacity = 255
  101.       @_collapse_duration = 30
  102.     end
  103.     def update
  104.       super
  105.       if @_collapse_duration > 0
  106.         @_collapse_duration -= 1
  107.         self.opacity = 256 - (30 - @_collapse_duration) * 9
  108.       end
  109.       if self.opacity == 0
  110.         self.dispose
  111.       end
  112.     end
  113.   end
  114. end
复制代码

这个是从战斗真位移里面弄下来的。我想把Y调大点。可是修改了好多地方都是错的。

会变成攻击打到后Y先下降再上升(图标先升上去又掉下来。。。)

本来应该是打到后图标直接下降。实在是改不出来这个效果。。。

会的或作者进来帮忙下。。。
作者: 神思    时间: 2007-6-28 18:37
在Scene_Battle 4里面也有2句更改坐标的东西`````
作者: koalli    时间: 2007-6-28 18:43
  1. def move(active_battler, target, ox, oy, 返回标记 = false)
  2.     ta_x = target[0]
  3.     ta_y = target[1]
  4.     if 返回标记
  5.       active_battler.movex = (active_battler.movex * (@_move_duration - 1) + ta_x.to_f - ox) / @_move_duration
  6.       active_battler.movey = (active_battler.movey * (@_move_duration - 1) + ta_y.to_f - oy) / @_move_duration
  7.     else
  8.       if @active_battler.is_a?(Game_Enemy)
  9.         active_battler.movex = (active_battler.movex * (@_move_duration - 1) + ta_x.to_f - ox - (active_battler.width / 2.5)) / @_move_duration
  10.         active_battler.movey = (active_battler.movey * (@_move_duration - 1) + ta_y.to_f - oy - (active_battler.height / 5.5)) / @_move_duration
  11.       else
  12.         active_battler.movex = (active_battler.movex * (@_move_duration - 1) + ta_x.to_f - ox + (active_battler.width / 2.5)) / @_move_duration
  13.         active_battler.movey = (active_battler.movey * (@_move_duration - 1) + ta_y.to_f - oy + (active_battler.height / 5.5)) / @_move_duration
  14.       end
  15.     end
  16.   end
复制代码
是这个吗。。。该怎么改?我那个汗```

例如我想把Y改成100。需要修改到哪几个位置的东西?
作者: 神思    时间: 2007-6-28 18:45
{/gg}{/gg}
你试下搜索@battler_cp.ttbar[target].y =
- -``另外``你能不能把LS的那段脚本给XX了```
{/gg}写的自己都没眼看了`
作者: koalli    时间: 2007-6-28 18:49
汗。。。原来还藏了两个```




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