Project1

标题: 关于Table [打印本页]

作者: zh99998    时间: 2008-9-4 03:23
标题: 关于Table
谁会用Table啊讲讲好吗,F1里的太简略了看不明白
比如用Table怎么储存和读取类似下面那张图的每个图标的坐标
我现在是用的
  1.     @x = [[208,172,190,226,244,226,190,154,208,262,262,208,154,100,154,262,316,262,154],[ 64, 82,118,136,118, 82, 46, 46,100],[172,190,226,244,226,190,154,208,262],[280,298,334,352,334,298,316,370,370],[280,298,334,352,334,298,370,370,316],[172,190,226,244,226,190,262,208,154],[ 64, 82,118,136,118, 82,100, 46, 46],[100,208,316,316,208,100]]
  2.     @y = [[208,208,177,177,208,239,239,177,146,177,239,270,239,208,114,114,208,302,302],[146,114,114,146,177,177,177,114, 83],[ 83, 52, 52, 83,114,114, 52, 21, 52],[146,114,114,146,177,177, 83,114,177],[270,239,239,270,302,302,239,302,333],[333,302,302,333,364,364,364,395,364],[270,239,239,270,302,302,333,302,239],[ 94, 83,146,270,333,270]]
复制代码

据说用Table会更好些,那么Table应该怎么用呢?


其实就是1个六芒星周围接6个六芒星
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 神思    时间: 2008-9-4 03:45
储存可以用类似这种格式
Table[x坐标, y坐标] = (可以用个数字代替图标..)
然后

可以
for x in 0...Table.xsize
  for y in 0...Table.ysize
    # 获取ID
    id = Table[x, y]
    然后根据ID显示图片........
  end
end


这...这只是一使用Table的傻瓜式例子```= =`````
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: dbshy    时间: 2008-9-4 03:59
TABLE 就是多维数组,不过最多三维,每个元素为INTEGER

其实用ARRAY 也可以代替 ARRAY.NEW(SIZE,[])

用法LS讲了 = =

PS:其实我觉得在RGSS中根本没必要用TABLE,ARRAY就可以 = =
作者: hide秀    时间: 2008-9-4 04:08
class MT < Table
def [](*args)
   return super(*args) / 10.to_f
end

def []=(*args)
   super(*(args[0, args.size - 1] << args[-1] * 10))
end
end  

Table 只支持Integer
用这个 这个可以支持输入浮点数{/wx}
作者: 沉影不器    时间: 2008-9-4 04:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2008-9-5 20:28
hide秀,我只是用来显示图片,不需要浮点
神思,储存大量的坐标怎么存呢?就像那两个@x,@y的句子?




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