Project1

标题: 数组问题 [打印本页]

作者: chenjc0807    时间: 2012-8-20 17:25
标题: 数组问题
前面的定义部分:

# ■ Scene_Battle (分割定义 1)
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
   @a = [] #(H)定义循环己、敌方数组
   @b = []
  attr_accessor :maxspeed
  attr_accessor :speedindex
def main
    # 初始化战斗用的各种暂时数据
    @maxspeed = 1  #(H)
    @speedindex = 0

………………
后面的运行部分,同在一个类里:

if @maxspeed = 1
       for i in 0..$game_party.actors.size - 1  #初始化
         @a[i] = $game_party.actors[i].agi                  #本行出错!  
       end
         @maxspeed = @a[i]  #初始化maxspeed
     elsif @maxspeed >= 5000  

运行出错,错误类型是未定义的方法"[]=",请教出错原因。

另外,顺便问一下,数组(本例中的@a、@b)是否也分一般变量和实变量(即去掉@会不同)?数组定义时是否不需要注明元素名字、个数?

谢谢。
作者: bbaugle    时间: 2012-8-20 18:45
将@a 和@b的初始化放在def main里
作者: zxcgood2009    时间: 2012-8-20 19:23
@的意思,你在软件的帮助里搜,上面有详尽的解释。
作者: 灯笼菜刀王    时间: 2012-8-21 05:23
数组和各种实变量是一样的,赋值方法和调用都一样, 要定义数组需要在初始化里赋值后才能使用,如同变量,  

你可以指定任何一个变量为数组( XX = []) 就可以了,这个变量也包括系统提供的公共变量




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