设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2007|回复: 10
打印 上一主题 下一主题

[已经过期] for battler in @battlers_array

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
跳转到指定楼层
1
发表于 2022-12-2 17:13:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
请帮忙改写成用于@变量图标设置中的变量

点评

改好了, for 变量 in @变量图标  发表于 2022-12-2 17:27

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
2
 楼主| 发表于 2022-12-2 20:50:28 | 只看该作者
本帖最后由 金芒芒 于 2022-12-2 20:56 编辑

我想把1=>   2=>  3=>  变成变量ID
  1. module SXL_ICON
  2.   #ICONS =图标
  3.   ICONS = {
  4.     1=>"046-Skill03",
  5.     2=>"047-Skill04",
  6.     3=>"044-Skill01",
  7.   }
  8.   
  9.   SKIN = "123" #皮肤轨道
  10.   X    =  16         
  11.   Y    =  32      
  12. end

  13. class KZGJ
  14.   
  15.   def initialize #定义初始化
  16.    
  17.     @base = Sprite.new #基础=新的精灵
  18.     @base.bitmap = RPG::Cache.picture(SXL_ICON::SKIN)
  19.     #基础位图=Cache.picture文件的SXL_ICON的滑道皮肤
  20.     @base.x = SXL_ICON::X
  21.     @base.y = SXL_ICON::Y
  22.     @base.z = SXL_ICON::X+100
  23.     @width  = @base.bitmap.width#宽度=基础位图的宽度
  24.     @height = @base.bitmap.height#高度=基础位图的高度
  25.    
  26.     refresh #刷新
  27.    
  28.   end

  29.   
  30.    def refresh  #定义刷新刷新
  31.      sort   #分类
  32.      n = 0
  33.      @icon_set = [] #图标设置=[]
  34.      for battler in @battlers_array#用于@战斗图设置中的战斗者
  35.        p battler.id #打印战斗者的ID
  36.        iconname = SXL_ICON::ICONS[battler.id]#icon名称=SXL_ICON::ICONS[战斗.id]
  37.        sprite = Sprite.new #生成精灵=新的精灵
  38.        sprite.bitmap = RPG::Cache.icon(iconname)
  39.        sprite.x = SXL_ICON::X
  40.        sprite.y = SXL_ICON::Y + n * 25 + 25
  41.        sprite.z = @base.z + 100
  42.        @icon_set.push([sprite,battler.id])#图标设置推动([精灵,战斗着.id])
  43.        n += 1 #下一个角色
  44.      end
  45.    end
复制代码
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
3
 楼主| 发表于 2022-12-2 21:03:34 | 只看该作者
金芒芒 发表于 2022-12-2 20:50
我想把1=>   2=>  3=>  变成变量ID

这是地图上CP跑道距离
  1. class Game_Character
  2.   #--------------------------------------------------------------------------
  3.   # ● 指定イベントに近づく ●接近指定活动
  4.   #--------------------------------------------------------------------------
  5.   def move_toward_event(id)
  6.     # 指定イベントの座標との差を求める #求出与指定事件坐标的差
  7.     sx = @x - $game_map.events[id].x
  8.     sy = @y - $game_map.events[id].y
  9.     # 坐标相等时
  10.     if sx == 0 and sy == 0
  11.       return
  12.     end
  13.     # 差の絶対値を求める #求差的绝对值
  14.     abs_sx = sx.abs
  15.     abs_sy = sy.abs
  16.     # 横の距離と縦の距離が等しい場合#横向距离和纵向距离相等时
  17.     if abs_sx == abs_sy
  18.       # ランダムでどちらかを 1 増やす #随机增加1
  19.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  20.     end
  21.     # 横の距離のほうが長い場合 横向距离较长时
  22.     if abs_sx > abs_sy
  23.       # 左右方向を優先し、指定イベントのいるほうへ移動
  24.       #优先左右方向,向有指定事件的方向移动
  25.       sx > 0 ? move_left : move_right
  26.       if not moving? and sy != 0
  27.         sy > 0 ? move_up : move_down
  28.       end
  29.     # 縦の距離のほうが長い場合 纵向距离较长时
  30.     else
  31.       # 优先上下方向,向有指定事件的方向移动
  32.       sy > 0 ? move_up : move_down
  33.       if not moving? and sx != 0
  34.         sx > 0 ? move_left : move_right
  35.       end
  36.     end
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 指定イベントから遠ざかる #距离指定事件
  40.   #--------------------------------------------------------------------------
  41.   def move_away_from_event(id)
  42.     # 指定イベントの座標との差を求める
  43.     #求出与指定事件坐标的差
  44.     sx = @x - $game_map.events[id].x
  45.     sy = @y - $game_map.events[id].y
  46.     # 座標が等しい場合#坐标相等时
  47.     if sx == 0 and sy == 0
  48.       return
  49.     end
  50.     # 差の絶対値を求める求差的绝对值
  51.     abs_sx = sx.abs
  52.     abs_sy = sy.abs
  53.     # 横の距離と縦の距離が等しい場合
  54.     #横向距离和纵向距离相等时
  55.     if abs_sx == abs_sy
  56.       # ランダムでどちらかを 1 増やす
  57.       #随机增加1
  58.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  59.     end
  60.     # 横の距離のほうが長い場合#横向距离较长时
  61.     if abs_sx > abs_sy
  62.       # 左右方向を優先し、指定イベントのいないほうへ移動
  63.       #优先左右方向,向没有指定事件的方向移动
  64.       sx > 0 ? move_right : move_left
  65.       if not moving? and sy != 0
  66.         sy > 0 ? move_down : move_up
  67.       end
  68.     # 縦の距離のほうが長い場合
  69.     #  纵向距离较长时
  70.     else
  71.       # 上下方向を優先し、指定イベントのいないほうへ移動
  72.       #优先上下方向,向没有指定事件的方向移动
  73.       sy > 0 ? move_down : move_up
  74.       if not moving? and sx != 0
  75.         sx > 0 ? move_right : move_left
  76.       end
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 指定座標に近づく#接近指定坐标
  81.   #--------------------------------------------------------------------------
  82.   def move_toward_position(x, y)
  83.     # 座標の差を求める #求坐标差
  84.     sx = @x - x
  85.     sy = @y - y
  86.     # 座標が等しい場合 坐标相等时
  87.     if sx == 0 and sy == 0
  88.       return
  89.     end
  90.     # 求差的绝对值
  91.     abs_sx = sx.abs
  92.     abs_sy = sy.abs
  93.     # 横の距離と縦の距離が等しい場合
  94.     # 横向距离和纵向距离相等时
  95.     if abs_sx == abs_sy
  96.       # ランダムでどちらかを 1 増やす
  97.       #随机增加一个
  98.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  99.     end
  100.     # 横の距離のほうが長い場合
  101.     # 横向距离较长时
  102.     if abs_sx > abs_sy
  103.       sx > 0 ? move_left : move_right
  104.       if not moving? and sy != 0
  105.         sy > 0 ? move_up : move_down
  106.       end
  107.     # 縦の距離のほうが長い場合
  108.     # 纵向距离较长时
  109.     else
  110.       sy > 0 ? move_up : move_down
  111.       if not moving? and sx != 0
  112.         sx > 0 ? move_left : move_right
  113.       end
  114.     end
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 指定座標から遠ざかる ●远离指定坐标
  118.   #--------------------------------------------------------------------------
  119.   def move_away_from_position(x, y)
  120.     # 座標の差を求める 求坐标差
  121.     sx = @x - x
  122.     sy = @y - y
  123.     # 座標が等しい場合 坐标相等时
  124.     if sx == 0 and sy == 0
  125.       return
  126.     end
  127.     # 差の絶対値を求める 求差的绝对值
  128.     abs_sx = sx.abs
  129.     abs_sy = sy.abs
  130.     # 横の距離と縦の距離が等しい場合
  131.     # 横向距离和纵向距离相等时
  132.     if abs_sx == abs_sy
  133.       # ランダムでどちらかを 1 増やす
  134.       # 随机增加一个
  135.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  136.     end
  137.     # 横の距離のほうが長い場合
  138.     # 横向距离较长时
  139.     if abs_sx > abs_sy
  140.       sx > 0 ? move_right : move_left
  141.       if not moving? and sy != 0
  142.         sy > 0 ? move_down : move_up
  143.       end
  144.     # 縦の距離のほうが長い場合
  145.     #纵向距离较长时
  146.     else
  147.       sy > 0 ? move_down : move_up
  148.       if not moving? and sx != 0
  149.         sx > 0 ? move_right : move_left
  150.       end
  151.     end
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 指定イベントの方を向く ●面向指定活动
  155.   #--------------------------------------------------------------------------
  156.   def turn_toward_event(id)
  157.     # 指定イベントの座標との差を求める
  158.     #求出与指定事件坐标的差
  159.     sx = @x - $game_map.events[id].x
  160.     sy = @y - $game_map.events[id].y
  161.     # 座標が等しい場合 坐标相等时
  162.     if sx == 0 and sy == 0
  163.       return
  164.     end
  165.     # 横の距離のほうが長い場合
  166.     #横向距离较长时
  167.     if sx.abs > sy.abs
  168.       # 左右方向で指定イベントのいるほうを向く
  169.       # 在左右方向朝向有指定活动的方向
  170.       sx > 0 ? turn_left : turn_right
  171.     # 縦の距離のほうが長い場合 #纵向距离较长时
  172.     else
  173.       # 上下方向で指定イベントのいるほうを向く
  174.       # 在上下方向朝向有指定活动的方向
  175.       sy > 0 ? turn_up : turn_down
  176.     end
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 指定イベントの逆を向く
  180.   #--------------------------------------------------------------------------
  181.   def turn_away_from_event(id)
  182.     # 指定イベントの座標との差を求める
  183.     sx = @x - $game_map.events[id].x
  184.     sy = @y - $game_map.events[id].y
  185.     # 座標が等しい場合
  186.     if sx == 0 and sy == 0
  187.       return
  188.     end
  189.     # 横の距離のほうが長い場合
  190.     if sx.abs > sy.abs
  191.       # 左右方向で指定イベントのいないほうを向く
  192.       sx > 0 ? turn_right : turn_left
  193.     # 縦の距離のほうが長い場合
  194.     else
  195.       # 上下方向で指定イベントのいないほうを向く
  196.       sy > 0 ? turn_down : turn_up
  197.     end
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● 指定座標の方を向く
  201.   #--------------------------------------------------------------------------
  202.   def turn_toward_position(x, y)
  203.     # 座標の差を求める
  204.     sx = @x - x
  205.     sy = @y - y
  206.     # 座標が等しい場合
  207.     if sx == 0 and sy == 0
  208.       return
  209.     end
  210.     # 横の距離のほうが長い場合
  211.     if sx.abs > sy.abs
  212.       sx > 0 ? turn_left : turn_right
  213.     # 縦の距離のほうが長い場合
  214.     else
  215.       sy > 0 ? turn_up : turn_down
  216.     end
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● 指定座標の逆を向く
  220.   #--------------------------------------------------------------------------
  221.   def turn_away_from_position(x, y)
  222.     # 座標の差を求める
  223.     sx = @x - x
  224.     sy = @y - y
  225.     # 座標が等しい場合
  226.     if sx == 0 and sy == 0
  227.       return
  228.     end
  229.     # 横の距離のほうが長い場合
  230.     if sx.abs > sy.abs
  231.       sx > 0 ? turn_right : turn_left
  232.     # 縦の距離のほうが長い場合
  233.     else
  234.       sy > 0 ? turn_down : turn_up
  235.     end
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● 指定範囲内をランダムに移動
  239.   #--------------------------------------------------------------------------
  240.   def move_random_area(x, y, distance)
  241.     # 自分とエリア中心の座標の差を求める
  242.     sx = @x - x
  243.     sy = @y - y
  244.     # 既に範囲外にいる場合
  245.     if sx.abs + sy.abs > distance
  246.       # エリア中心に近づく
  247.       move_toward_position(x, y)
  248.       return
  249.     end
  250.     # とりあえずどの方向に進むか決定した後に距離判定
  251.     case rand(4)
  252.     when 0  # 下に移動
  253.       if sx.abs + sy < distance
  254.         move_down(false)
  255.       end
  256.     when 1  # 左に移動
  257.       if -sx + sy.abs < distance
  258.         move_left(false)
  259.       end
  260.     when 2  # 右に移動
  261.       if sx + sy.abs < distance
  262.         move_right(false)
  263.       end
  264.     when 3  # 上に移動
  265.       if sx.abs - sy < distance
  266.         move_up(false)
  267.       end
  268.     end
  269.   end
  270. end
复制代码
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
4
发表于 2022-12-3 11:22:30 | 只看该作者
RUBY 代码复制
  1. 1=>1,
  2. 2=>2,
  3. 3=>3,


这样?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
5
 楼主| 发表于 2022-12-3 11:52:18 | 只看该作者
本帖最后由 金芒芒 于 2022-12-3 14:12 编辑
soulsaga 发表于 2022-12-3 11:22
1=>1,
2=>2,
3=>3,[/pre]



每个快捷键多有一个变量ID,每个快捷键多手动置入一种技能
所以我想要利用CP跑条,让变量的值达到100,而强行使用模拟按键
  ICONS = {
    1=>"变量ID1",
    2=>"变量ID2",
    3=>"变量ID3",
  }

应该是修改36行脚本
  1. module SXL_ICON
  2.   #ICONS =图标
  3.   ICONS = {
  4.     1=>"046-Skill03",
  5.     2=>"047-Skill04",
  6.     3=>"044-Skill01",
  7.   }
  8.   
  9.   SKIN = "123" #皮肤轨道
  10.   X    =  16         
  11.   Y    =  32      
  12. end

  13. class KZGJ
  14.   
  15.   def initialize #定义初始化
  16.    
  17.     @base = Sprite.new #基础=新的精灵
  18.     @base.bitmap = RPG::Cache.picture(SXL_ICON::SKIN)
  19.     #基础位图=Cache.picture文件的SXL_ICON的滑道皮肤
  20.     @base.x = SXL_ICON::X
  21.     @base.y = SXL_ICON::Y
  22.     @base.z = SXL_ICON::X+100
  23.     @width  = @base.bitmap.width#宽度=基础位图的宽度
  24.     @height = @base.bitmap.height#高度=基础位图的高度
  25.    
  26.     refresh #刷新
  27.    
  28.   end

  29.   
  30.    def refresh  #定义刷新刷新
  31.      sort   #分类
  32.      n = 0
  33.      @icon_set = [] #图标设置=[]
  34.      for battler in @battlers_array#用于@战斗图设置中的战斗者
  35.        p battler.id #复制战斗者的ID
  36.        iconname = SXL_ICON::ICONS[battler.id]#icon名称=SXL_ICON::ICONS[战斗.id]
  37.        sprite = Sprite.new #生成精灵=新的精灵
  38.        sprite.bitmap = RPG::Cache.icon(iconname)#精灵图标+RPG::Cache.icon(图标名字)
  39.        sprite.x = SXL_ICON::X
  40.        sprite.y = SXL_ICON::Y + n * 25 + 25
  41.        sprite.z = @base.z + 100
  42.        @icon_set.push([sprite,battler.id])#@图标设置推送([精灵,战斗者.id])
  43.        n += 1#下一个角色
  44.      end
  45.    end
  46.    
  47.    def reset  # def复位
  48.      @icon_set.each { |set| set[0].dispose}#@图标设置。每个{|放置|放置[0].布置}
  49.      refresh#刷新
  50.    end #终止
  51.   

  52.    def cr(actor_id, position) #定义 cr(演员id,位置)
  53.      for set in @icon_set #用于在@图标_放置中设置
  54.        if set[1] == actor_id then #如果放置[1]==演员_id,则
  55.          set[0].x = SXL_ICON::X - 25 #放置[0]。x=SXL_ICON::x-25
  56.          set[0].y = SXL_ICON::Y + position * 25 + 25#放置[0]。y=SXL_ICON::y+位置*25+25
  57.          5.times { Graphics.update }# 5次{图形更新}
  58.          5.times { set[0].x +=5; Graphics.update}#5.次{放置[0].x+=5;图形更新}
  59.          break#强行终止
  60.        end
  61.      end
  62.    end  
  63.      
  64.    def move_up(array) #def上移(数组)
  65.      for element in array#用于数组中的元素
  66.       for i in 1..5 #对于1..5中的i
  67.        for set in @icon_set#用于在@图标_放置中设置
  68.           if $game_map.events[element].at < $game_map.events[set[1]].at and set[0].visible == true then
  69.          #如果$游戏 地图事件[要素]。位于< $游戏 地图事件[放置[1] 位于并设置[0]。可见==则为真
  70.             set[0].y -= 5 #放置[0].y -= 5
  71.           end
  72.        end
  73.         Graphics.update #图形更新
  74.       end
  75.     end
  76.    end
  77.    
  78.    def move_down(index) #def下移(索引)
  79.      for i in 1..5#用于1..5中的i
  80.        for set in @icon_set#用于在@图标_放置中设置
  81.           if $game_map.events[index].at < $game_map.events[set[1]].at and set[0].visible == true then
  82.           #如果$游戏 地图事件[索引]。位于< $游戏 地图事件[放置[1] 位于并设置[0]。可见==则为真  
  83.             set[0].y += 5#放置[0].y += 5
  84.           end
  85.        end
  86.         Graphics.update#图形更新
  87.       end
  88.    end
  89.    
  90.    def forward #def转发
  91.      for i in 1..5 #用于1..5中的i
  92.        for set in @icon_set #用于在@图标_放置中设置
  93.          if set[0].visible == true then#如果放置[0]可见==则为真  
  94.            set[0].y -= 5#放置[0].y -= 5
  95.          end
  96.        end
  97.      Graphics.update #图形更新
  98.      end
  99.    end
  100.      
  101.    def conceal(array)#def隐藏(数组)
  102.       for id in array#用于数组中的id
  103.       for set in @icon_set#用于在@icon_set中设置
  104.           if id == set[1] then#如果id==set[1],则
  105.             set[0].visible = false#放置[0]。可见=假
  106.           end
  107.         end
  108.       end
  109.    end
  110.         
  111.    def sort#def排序
  112.     @battlers_array = []#@战列兵阵=[]
  113.     for i in $game_system.tactics_actors.keys#我在$game系统中。战术演员。关键
  114.       actor = $game_map.events[i]#actor=$游戏地图事件[i]
  115.       if !$game_system.tactics_actors[i].dead? then#如果$游戏系统战术演员[i]。死去的然后
  116.        @battlers_array.push(actor)#@战列兵阵列。推(演员)
  117.       end
  118.     end
  119.    
  120.     for i in $game_system.tactics_enemies.keys#我在$game系统中。战术敌人。关键
  121.       enemy = $game_map.events[i]# 敌人=$游戏地图事件[i]
  122.       if !$game_system.tactics_enemies[i].dead? then#如果$游戏系统战术敌人[i]。死去的然后
  123.        @battlers_array.push(enemy)#@战列兵阵列。推进(敌人)
  124.      end
  125.     end

  126.     @battlers_array.sort! {|a,b| a.at - b.at } #@战列兵阵列。分类{|a,b|a在-b在}
  127.   end

  128.   
  129.   def dispose#def处置
  130.     @base.dispose#@底部排水管
  131.     @icon_set.each { |set| set[0].dispose}#@图标设置。每个{|集|集[0].dispose}
  132.   end
  133. end

复制代码

快捷方式.png (78.56 KB, 下载次数: 26)

快捷方式.png

变量ID.png (10.49 KB, 下载次数: 32)

变量ID.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
6
发表于 2022-12-3 14:42:32 | 只看该作者
RUBY 代码复制
  1. ICONS = {
  2.     1=>"变量ID1",
  3.     2=>"变量ID2",
  4.     3=>"变量ID3",
  5.   }


这里不能写系统变量啊..
不过你只要把这里的移到下面的初始化里面就可以用变量了..大概
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
7
 楼主| 发表于 2022-12-3 14:46:34 | 只看该作者
本帖最后由 金芒芒 于 2022-12-3 14:54 编辑
soulsaga 发表于 2022-12-3 14:42
ICONS = {
    1=>"变量ID1",
    2=>"变量ID2",


这个只是图片
我要的是36行脚本for battler in @battlers_array改写成用于@变量图设置中的变量
我不会写脚本只会以此类推

变量的图片.png (37.02 KB, 下载次数: 28)

变量的图片.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
8
发表于 2022-12-3 15:10:06 | 只看该作者
本帖最后由 soulsaga 于 2022-12-3 16:06 编辑
金芒芒 发表于 2022-12-3 14:46
这个只是图片
我要的是36行脚本for battler in @battlers_array改写成用于@变量图设置中的变量
我不会写 ...


RMXP编辑器按F1 查找:哈希表

RUBY 代码复制
  1. for battler in SXL_ICON::ICONS.values
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
9
 楼主| 发表于 2022-12-3 17:12:58 | 只看该作者
本帖最后由 金芒芒 于 2022-12-3 17:15 编辑
soulsaga 发表于 2022-12-3 15:10
RMXP编辑器按F1 查找:哈希表

for battler in SXL_ICON::ICONS.values[/pre]


谢谢小姐姐 下班回家研究
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7822
在线时间
1345 小时
注册时间
2015-8-15
帖子
753
10
 楼主| 发表于 2022-12-5 17:19:35 | 只看该作者
本帖最后由 金芒芒 于 2022-12-5 17:20 编辑
soulsaga 发表于 2022-12-3 14:42
ICONS = {
    1=>"变量ID1",
    2=>"变量ID2",


1-13的脚本意识是说角色ID用ICONS图片代入,角色ID1号=等于图片046-Skill03代入
14-140行说的是角色事件推动代入图片
我的要求是把14-140行中的角色代入推动条件变成变量代入推动条件,
变量ID利用事件推动CP条上的图片,等跑满CP后执行变量开关
  1. module SXL_ICON
  2.   #ICONS =图标
  3.   ICONS = {
  4.     1=>"046-Skill03",
  5.     2=>"047-Skill04",
  6.     3=>"044-Skill01",
  7.   }
  8.   
  9.   SKIN = "123" #皮肤轨道
  10.   X    =  16         
  11.   Y    =  32      
  12. end

  13. class KZGJ
  14.   
  15.   def initialize #定义初始化
  16.    
  17.     @base = Sprite.new #基础=新的精灵
  18.     @base.bitmap = RPG::Cache.picture(SXL_ICON::SKIN)
  19.     #基础位图=Cache.picture文件的SXL_ICON的滑道皮肤
  20.     @base.x = SXL_ICON::X
  21.     @base.y = SXL_ICON::Y
  22.     @base.z = SXL_ICON::X+100
  23.     @width  = @base.bitmap.width#宽度=基础位图的宽度
  24.     @height = @base.bitmap.height#高度=基础位图的高度
  25.    
  26.     refresh #刷新
  27.    
  28.   end

  29.   
  30.    def refresh  #定义刷新刷新
  31.      sort   #分类
  32.      n = 0
  33.      @icon_set = [] #图标设置=[]
  34.      for battler in @battlers_array#用于@战斗图设置中的战斗者
  35.        p battler.id #复制战斗者的ID
  36.        iconname = SXL_ICON::ICONS[battler.id]#icon名称=SXL_ICON::ICONS[战斗.id]
  37.        sprite = Sprite.new #生成精灵=新的精灵
  38.        sprite.bitmap = RPG::Cache.icon(iconname)#精灵图标+RPG::Cache.icon(图标名字)
  39.        sprite.x = SXL_ICON::X
  40.        sprite.y = SXL_ICON::Y + n * 25 + 25
  41.        sprite.z = @base.z + 100
  42.        @icon_set.push([sprite,battler.id])#@图标设置推送([精灵,战斗者.id])
  43.        n += 1#下一个角色
  44.      end
  45.    end
  46.    
  47.    def reset  # def复位
  48.      @icon_set.each { |set| set[0].dispose}#@图标设置。每个{|放置|放置[0].布置}
  49.      refresh#刷新
  50.    end #终止
  51.   

  52.    def cr(actor_id, position) #定义 cr(演员id,位置)
  53.      for set in @icon_set #用于在@图标_放置中设置
  54.        if set[1] == actor_id then #如果放置[1]==演员_id,则
  55.          set[0].x = SXL_ICON::X - 25 #放置[0]。x=SXL_ICON::x-25
  56.          set[0].y = SXL_ICON::Y + position * 25 + 25#放置[0]。y=SXL_ICON::y+位置*25+25
  57.          5.times { Graphics.update }# 5次{图形更新}
  58.          5.times { set[0].x +=5; Graphics.update}#5.次{放置[0].x+=5;图形更新}
  59.          break#强行终止
  60.        end
  61.      end
  62.    end  
  63.      
  64.    def move_up(array) #def上移(数组)
  65.      for element in array#用于数组中的元素
  66.       for i in 1..5 #对于1..5中的i
  67.        for set in @icon_set#用于在@图标_放置中设置
  68.           if $game_map.events[element].at < $game_map.events[set[1]].at and set[0].visible == true then
  69.          #如果$游戏 地图事件[要素]。位于< $游戏 地图事件[放置[1] 位于并设置[0]。可见==则为真
  70.             set[0].y -= 5 #放置[0].y -= 5
  71.           end
  72.        end
  73.         Graphics.update #图形更新
  74.       end
  75.     end
  76.    end
  77.    
  78.    def move_down(index) #def下移(索引)
  79.      for i in 1..5#用于1..5中的i
  80.        for set in @icon_set#用于在@图标_放置中设置
  81.           if $game_map.events[index].at < $game_map.events[set[1]].at and set[0].visible == true then
  82.           #如果$游戏 地图事件[索引]。位于< $游戏 地图事件[放置[1] 位于并设置[0]。可见==则为真  
  83.             set[0].y += 5#放置[0].y += 5
  84.           end
  85.        end
  86.         Graphics.update#图形更新
  87.       end
  88.    end
  89.    
  90.    def forward #def转发
  91.      for i in 1..5 #用于1..5中的i
  92.        for set in @icon_set #用于在@图标_放置中设置
  93.          if set[0].visible == true then#如果放置[0]可见==则为真  
  94.            set[0].y -= 5#放置[0].y -= 5
  95.          end
  96.        end
  97.      Graphics.update #图形更新
  98.      end
  99.    end
  100.      
  101.    def conceal(array)#def隐藏(数组)
  102.       for id in array#用于数组中的id
  103.       for set in @icon_set#用于在@icon_set中设置
  104.           if id == set[1] then#如果id==set[1],则
  105.             set[0].visible = false#放置[0]。可见=假
  106.           end
  107.         end
  108.       end
  109.    end
  110.         
  111.    def sort#def排序
  112.     @battlers_array = []#@战列兵阵=[]
  113.     for i in $game_system.tactics_actors.keys#我在$game系统中。战术演员。关键
  114.       actor = $game_map.events[i]#actor=$游戏地图事件[i]
  115.       if !$game_system.tactics_actors[i].dead? then#如果$游戏系统战术演员[i]。死去的然后
  116.        @battlers_array.push(actor)#@战列兵阵列。推(演员)
  117.       end
  118.     end
  119.    
  120.     for i in $game_system.tactics_enemies.keys#我在$game系统中。战术敌人。关键
  121.       enemy = $game_map.events[i]# 敌人=$游戏地图事件[i]
  122.       if !$game_system.tactics_enemies[i].dead? then#如果$游戏系统战术敌人[i]。死去的然后
  123.        @battlers_array.push(enemy)#@战列兵阵列。推进(敌人)
  124.      end
  125.     end

  126.     @battlers_array.sort! {|a,b| a.at - b.at } #@战列兵阵列。分类{|a,b|a在-b在}
  127.   end

  128.   
  129.   def dispose#def处置
  130.     @base.dispose#@底部排水管
  131.     @icon_set.each { |set| set[0].dispose}#@图标设置。每个{|集|集[0].dispose}
  132.   end
  133. end
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 21:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表