Project1

标题: 请问index(self)怎么理解 [打印本页]

作者: kvkv97    时间: 2019-8-18 15:36
标题: 请问index(self)怎么理解
在Game_Actor类中,有个方法  
  def index
    return $game_party.actors.index(self)
  end
里面的$game_party.actors是数组,后面的index(self)怎么理解?

作者: 灯笼菜刀王    时间: 2019-8-18 16:05
每一个角色都是Game_Actor实例,
self 是表示自己, 也就是对象本身, 这里就是表示Game_Actor这个实例
$game_party.actors是在队伍里的角色的数组, 也就它的单元都是 Game_Actor实例
按F1, 搜索array, 查看 index 这个函数的解释

Game_Actor 的index函数, 它就是表示:  这个角色(已经赋予对象的Game_Actor实例) 在队伍中(含有多个Game_Actor实例的数组)的位置(array.index(val))
作者: fux2    时间: 2019-8-18 22:25
index即返回参数所在数组中的位置,0开始
作者: taeckle    时间: 2019-8-23 08:24
灯笼菜刀王 发表于 2019-8-18 16:05
每一个角色都是Game_Actor实例,
self 是表示自己, 也就是对象本身, 这里就是表示Game_Actor这个实例
$game_ ...

大神举个例子啊,
比如说指定队友第3位置的队友血量上限增加1000该怎么写啊?
作者: ppspssss    时间: 2019-8-23 11:59
index是一个數組中第一个元素, 是固定的吧,self一般都是指(自己)吧, 大慨了解先, 有点难懂
作者: kklt    时间: 2019-8-25 17:43
这个self表示Game_acter类的实例
Game_acter类定义游戏角色。
所以它的实例你可以看作是一个生成的角色。
acters是Game_party类的一个数组
$game_party是Game_party类的实例。(scene_title中 $game_party=Game_party.new)
通过$game_party.actors.index(self)在Game_acter类中访问到acters这个数组并调用方法index
index是返回当前方法的使用者(也就是acters这个数组)中第一个等于 self的 索引。
而self又是一个角色
所以$game_party.actors.index(self)就是获取角色索引。




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