6rp 发表于 2013-4-20 17:37 ![]()  
message就是这样使用的: 
$game_message.add('hello')[/pre]  
感谢已经成功读取文件了 
突然发现可以用Excel 批量转换txt 效率提高一大截 
唯一遗憾就是不知道如何在类内部使用 
不过暂且用类方法解决了 
$dialog = Array.new(72,Array.new) #============================================================================= class Dialog   attr_accessor :index   attr_accessor :label   attr_accessor :label_target   attr_accessor :condition   attr_accessor :option   attr_accessor :picid   attr_accessor :content   @@interpret = [Hash.new]  ##============================================================================ ##============================================================================   def self.intercreate(i)     @@interpret[i] = Hash.new   end   def self.intercrease(i,l,li)     @@interpret[i][l] = li   end   def self.interpret(i)     return @@interpret[i]   end   def self.setup     @@interpret = [Hash.new]      load('book.etc')   end   def initialize(i,l,c,o,p,con,lt)     @index = i     @label = l     @label_target = lt     @condition = c     @option = o     @picid = p     p @content = con   end end 
 
 $dialog = Array.new(72,Array.new)  
#=============================================================================  
class Dialog  
  attr_accessor :index  
  attr_accessor :label  
  attr_accessor :label_target  
  attr_accessor :condition  
  attr_accessor :option  
  attr_accessor :picid  
  attr_accessor :content  
  @@interpret = [Hash.new]   
##============================================================================  
##============================================================================  
  def self.intercreate(i)  
    @@interpret[i] = Hash.new  
  end  
  def self.intercrease(i,l,li)  
    @@interpret[i][l] = li  
  end  
  def self.interpret(i)  
    return @@interpret[i]  
  end  
  def self.setup  
    @@interpret = [Hash.new]   
    load('book.etc')  
  end  
  def initialize(i,l,c,o,p,con,lt)  
    @index = i  
    @label = l  
    @label_target = lt  
    @condition = c  
    @option = o  
    @picid = p  
    p @content = con  
  end  
end  
 
  
 
 
转换成txt以后 Excel 会自动给所有带括号的部分添加双引号,还会插入大量tab,用查找替换一次性删除勉强算是弄掉了def run(i,l,c,o,p,con,lt)           $dialog[i].push Dialog.new(i,l,c,o,p,con,lt)          $dialog[i].compact!         li = $dialog[i].size - 1          p Dialog.interpret(i) Dialog.intercreate(i) if Dialog.interpret(i) == nil         Dialog.intercrease(i,l,li)          end         i  =   1      l  = '  2 '     c  = '  3 '     o  = '  4 '     con  = '  5 '     lt  = '  6 '     run(i,l,c,o,p,con,lt) 
 
 def run(i,l,c,o,p,con,lt)           
 $dialog[i].push Dialog.new(i,l,c,o,p,con,lt)           
$dialog[i].compact!          
li = $dialog[i].size - 1           
p Dialog.interpret(i)  
Dialog.intercreate(i) if Dialog.interpret(i) == nil          
Dialog.intercrease(i,l,li)           
end          
i  =   1       
l  = '  2 '      
c  = '  3 '      
o  = '  4 '      
con  = '  5 '      
lt  = '  6 '      
run(i,l,c,o,p,con,lt)  
 
  
大概就生成这么个东西 
测试结果还算满意,但是不能在类内使用还是问题,这些变量难道都被当成main函数的局部变量了么? 
 |