查看: 1447|回复: 4

[已经解决] 在学习RGSS的脚本,有个问题请教

[复制链接]
梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
发表于 2012-7-2 15:10:19 | 显示全部楼层 |阅读模式

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

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

×
看Scene_Battle  类里面的这个函数
  
  def make_action_orders
    @action_battlers = []
    unless $game_troop.surprise
      @action_battlers += $game_party.members
    end
    unless $game_troop.preemptive
      @action_battlers += $game_troop.members
    end
    for battler in @action_battlers
      battler.action.make_speed
    end
    @action_battlers.sort! do |a,b|
      b.action.speed - a.action.speed
    end
  end

最后这个a,b是什么?既不是成员变量,也不是全局变量,也没看到yield关键字,求教,谢谢。
梦石
0
星屑
2306
在线时间
1010 小时
注册时间
2012-4-30
回帖
1455

开拓者

发表于 2012-7-2 15:56:39 | 显示全部楼层
主动战斗者用A代表,A行动的目标则用B代表。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
 楼主| 发表于 2012-7-2 16:04:45 | 显示全部楼层
铅笔描绘的思念 发表于 2012-7-2 15:56
主动战斗者用A代表,A行动的目标则用B代表。

谢谢,我按照上下文可以猜到意思,但我没理解这里的语法,能帮忙介绍下这里使用的是什么语法吗?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
 楼主| 发表于 2012-7-3 10:44:10 | 显示全部楼层
自己顶一下
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
 楼主| 发表于 2012-7-3 11:19:49 | 显示全部楼层
好吧,自己找到答案了

sort
sort!
sort {|a, b| ... }
sort! {|a, b| ... }
将数组内容排序。若是带区块调用,则传递两个参数给区块,用区块计算的结果进行排序。不带区块时,使用 <=> 对元素进行比较。sort! 则是对数组元素进行破坏型更新。

sort 返回一个新的、并进行过排序的数组,而 sort! 必定返回 self。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部