secondsen 发表于 2009-10-15 20:50:25

大家画地图,想把部分地图左右颠倒会很麻烦吧?简单方法

def _map_(index,ox,oy,width,height,kind = 0,p = false)
if p
    width = width - ox + 1
    height = height - oy + 1
end
s_index = index.to_s
for i in 0...3-s_index.size
    s_index = "0"+s_index
end
f = load_data("Data/Map"+s_index+".rvdata")
tmp = Table.new(ox+width,oy+height,3)
for x in ox...ox+width
    for y in oy...oy+height
      for i in 0..3
      tmp = f.data
      end
    end
end
for x in 0...width
    for y in 0...height
      for i in 0..3
      case kind
      when 0 # 水平变换
          f.data = tmp
      when 1 # 垂直变换
          f.data = tmp
      when 2 # 旋转180度
          f.data = tmp
      when 3 # 逆时针旋转90度
          f.data = tmp if y < width && x < height
      end
      end
    end
end
save_data(f,"Data/Map"+s_index+".rvdata")
end
_map_(59,5,5,33,33,3,true)

贴到脚本的最前面 _map_(index,ox,oy,width,height,kind = 0,p = false)
是调用方法

index 地图编号
ox   oy需要做变换地图的矩形的起始点的XY坐标
widthheight有两种。。。。一个是矩形的宽和高当最后一个参数p为true时,这两个参数是矩形最右下角点的XY坐标

kind   0   水平变换1垂直变化   2   180度旋转    3   逆时针90度旋转
p   看width和height的介绍那个吧

secondsen 发表于 2009-10-15 20:53:55

另外,变换之后,把工程关了,再从新打开,看效果吧。。。。。MS改变之后,不能看到效果,只能这样重新的载入
页: [1]
查看完整版本: 大家画地图,想把部分地图左右颠倒会很麻烦吧?简单方法