设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2502|回复: 7
打印 上一主题 下一主题

[已经解决] RMVX的自动元件怎么改成RMXP用的?

[复制链接]

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
跳转到指定楼层
1
发表于 2010-7-20 23:25:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
站上那个下不下来,想自己用PS改下,问问怎么改!

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2010-7-20 23:31:22 | 只看该作者
XP和VX的F1帮助文档都有对地图元件做出详细的描述
而且还是图文型的











你知道得太多了

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
3
 楼主| 发表于 2010-7-20 23:48:04 | 只看该作者
那个我看了!我是想问改的话是不是要用VX画一下,然后截图改?
能不能说具体点!
[img][/img]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
4
发表于 2010-7-21 00:29:53 | 只看该作者
  1. bitmap = Bitmap.new("TileA2") #放根目录的文件
  2. bitmap2 = Bitmap.new(768,1024) #导出文件的大小
  3. for x in 0..7
  4. for y in 0..7
  5. bitmap2.blt( 0+x*96,0+y*128,bitmap,Rect.new(0+x*64,0+y*96,32,32))
  6. bitmap2.blt(64+x*96,0+y*128,bitmap,Rect.new(32+x*64,0+y*96,32,32))

  7. bitmap2.blt(0+x*96,32+y*128,bitmap,Rect.new(0+x*64,32+y*96,32,32))
  8. bitmap2.blt(32+x*96,32+y*128,bitmap,Rect.new(32+x*64,32+y*96,16,32))
  9. bitmap2.blt(48+x*96,32+y*128,bitmap,Rect.new(16+x*64,32+y*96,16,32))
  10. bitmap2.blt(64+x*96,32+y*128,bitmap,Rect.new(32+x*64,32+y*96,32,32))

  11. bitmap2.blt(0+x*96,64+y*128,bitmap,Rect.new(0+x*64,64+y*96,32,16))
  12. bitmap2.blt(0+x*96,80+y*128,bitmap,Rect.new(0+x*64,48+y*96,32,16))
  13. bitmap2.blt(32+x*96,64+y*128,bitmap,Rect.new(32+x*64,64+y*96,16,16))
  14. bitmap2.blt(48+x*96,64+y*128,bitmap,Rect.new(16+x*64,64+y*96,16,16))
  15. bitmap2.blt(32+x*96,80+y*128,bitmap,Rect.new(32+x*64,48+y*96,16,16))
  16. bitmap2.blt(48+x*96,80+y*128,bitmap,Rect.new(16+x*64,48+y*96,16,16))

  17. bitmap2.blt(64+x*96,64+y*128,bitmap,Rect.new(32+x*64,64+y*96,32,16))
  18. bitmap2.blt(64+x*96,80+y*128,bitmap,Rect.new(32+x*64,48+y*96,32,16))

  19. bitmap2.blt(0+x*96,96+y*128,bitmap,Rect.new(0+x*64,64+y*96,32,32))
  20. bitmap2.blt(32+x*96,96+y*128,bitmap,Rect.new(32+x*64,64+y*96,16,32))
  21. bitmap2.blt(48+x*96,96+y*128,bitmap,Rect.new(16+x*64,64+y*96,16,32))
  22. bitmap2.blt(64+x*96,96+y*128,bitmap,Rect.new(32+x*64,64+y*96,32,32))
  23. end
  24. end

  25. bitmap2.make_png("a") #论坛搜Bitmap转PNG
复制代码
以上代码放脚本任意位置后运行游戏
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
5
 楼主| 发表于 2010-7-21 00:46:53 | 只看该作者
这是什么呀!我放到脚本里运行部了游戏!第一行有错误
[img][/img]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
6
发表于 2010-7-21 00:55:29 | 只看该作者
  1. #==============================================================================
  2. #               本脚本出自www.66rpg.com,转载请注明。
  3. #==============================================================================
  4. =begin
  5. ==============================================================================
  6.                         Bitmap to PNG By 轮回者
  7. ==============================================================================

  8. 对Bitmap对象直接使用

  9. bitmap_obj.make_png(name[, path])

  10. name:保存文件名
  11. path:保存路径

  12. 感谢66、夏娜、金圭子的提醒和帮助!
  13.    
  14. ==============================================================================
  15. =end

  16. module Zlib
  17.   class Png_File < GzipWriter
  18.     #--------------------------------------------------------------------------
  19.     # ● 主处理
  20.     #--------------------------------------------------------------------------
  21.     def make_png(bitmap_Fx,mode)
  22.       @mode = mode
  23.       @bitmap_Fx = bitmap_Fx
  24.       self.write(make_header)
  25.       self.write(make_ihdr)
  26.       self.write(make_idat)
  27.       self.write(make_iend)
  28.     end
  29.     #--------------------------------------------------------------------------
  30.     # ● PNG文件头数据块
  31.     #--------------------------------------------------------------------------
  32.     def make_header
  33.       return [0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a].pack("C*")
  34.     end
  35.     #--------------------------------------------------------------------------
  36.     # ● PNG文件情报头数据块(IHDR)
  37.     #--------------------------------------------------------------------------
  38.     def make_ihdr
  39.       ih_size = [13].pack("N")
  40.       ih_sign = "IHDR"
  41.       ih_width = [@bitmap_Fx.width].pack("N")
  42.       ih_height = [@bitmap_Fx.height].pack("N")
  43.       ih_bit_depth = [8].pack("C")
  44.       ih_color_type = [6].pack("C")
  45.       ih_compression_method = [0].pack("C")
  46.       ih_filter_method = [0].pack("C")
  47.       ih_interlace_method = [0].pack("C")
  48.       string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type +
  49.                ih_compression_method + ih_filter_method + ih_interlace_method
  50.       ih_crc = [Zlib.crc32(string)].pack("N")
  51.       return ih_size + string + ih_crc
  52.     end
  53.     #--------------------------------------------------------------------------
  54.     # ● 生成图像数据(IDAT)
  55.     #--------------------------------------------------------------------------
  56.     def make_idat
  57.       header = "\x49\x44\x41\x54"
  58.       case @mode # 请54~
  59.       when 1
  60.         data = make_bitmap_data#1
  61.       else
  62.         data = make_bitmap_data
  63.       end
  64.       data = Zlib::Deflate.deflate(data, 8)
  65.       crc = [Zlib.crc32(header + data)].pack("N")
  66.       size = [data.length].pack("N")
  67.       return size + header + data + crc
  68.     end
  69.     #--------------------------------------------------------------------------
  70.     # ● 从Bitmap对象中生成图像数据 mode 1(请54~)
  71.     #--------------------------------------------------------------------------
  72.     def make_bitmap_data1
  73.       w = @bitmap_Fx.width
  74.       h = @bitmap_Fx.height
  75.       data = []
  76.       for y in 0...h
  77.         data.push(0)
  78.         for x in 0...w
  79.           color = @bitmap_Fx.get_pixel(x, y)
  80.           red = color.red
  81.           green = color.green
  82.           blue = color.blue
  83.           alpha = color.alpha
  84.           data.push(red)
  85.           data.push(green)
  86.           data.push(blue)
  87.           data.push(alpha)
  88.         end
  89.       end
  90.       return data.pack("C*")
  91.     end
  92.     #--------------------------------------------------------------------------
  93.     # ● 从Bitmap对象中生成图像数据 mode 0
  94.     #--------------------------------------------------------------------------
  95.     def make_bitmap_data
  96.       gz = Zlib::GzipWriter.open('hoge.gz')
  97.       t_Fx = 0
  98.       w = @bitmap_Fx.width
  99.       h = @bitmap_Fx.height
  100.       data = []
  101.       for y in 0...h
  102.         data.push(0)
  103.         for x in 0...w
  104.           t_Fx += 1
  105.           if t_Fx % 10000 == 0
  106.             Graphics.update
  107.           end
  108.           if t_Fx % 100000 == 0
  109.             s = data.pack("C*")
  110.             gz.write(s)
  111.             data.clear
  112.             #GC.start
  113.           end
  114.           color = @bitmap_Fx.get_pixel(x, y)
  115.           red = color.red
  116.           green = color.green
  117.           blue = color.blue
  118.           alpha = color.alpha
  119.           data.push(red)
  120.           data.push(green)
  121.           data.push(blue)
  122.           data.push(alpha)
  123.         end
  124.       end
  125.       s = data.pack("C*")
  126.       gz.write(s)
  127.       gz.close   
  128.       data.clear
  129.       gz = Zlib::GzipReader.open('hoge.gz')
  130.       data = gz.read
  131.       gz.close
  132.       File.delete('hoge.gz')
  133.       return data
  134.     end
  135.     #--------------------------------------------------------------------------
  136.     # ● PNG文件尾数据块(IEND)
  137.     #--------------------------------------------------------------------------
  138.     def make_iend
  139.       ie_size = [0].pack("N")
  140.       ie_sign = "IEND"
  141.       ie_crc = [Zlib.crc32(ie_sign)].pack("N")
  142.       return ie_size + ie_sign + ie_crc
  143.     end
  144.   end
  145. end
  146. #==============================================================================
  147. # ■ Bitmap
  148. #------------------------------------------------------------------------------
  149. #  关联到Bitmap。
  150. #==============================================================================
  151. class Bitmap
  152.   #--------------------------------------------------------------------------
  153.   # ● 关联
  154.   #--------------------------------------------------------------------------
  155.   def make_png(name="like", path="",mode=0)
  156.     make_dir(path) if path != ""
  157.     Zlib::Png_File.open("temp.gz") {|gz|
  158.       gz.make_png(self,mode)
  159.     }
  160.     Zlib::GzipReader.open("temp.gz") {|gz|
  161.       $read = gz.read
  162.     }
  163.     f = File.open(path + name + ".png","wb")
  164.     f.write($read)
  165.     f.close
  166.     File.delete('temp.gz')
  167.     end
  168.   #--------------------------------------------------------------------------
  169.   # ● 生成保存路径
  170.   #--------------------------------------------------------------------------
  171.   def make_dir(path)
  172.     dir = path.split("/")
  173.     for i in 0...dir.size
  174.       unless dir == "."
  175.         add_dir = dir[0..i].join("/")
  176.         begin
  177.           Dir.mkdir(add_dir)
  178.         rescue
  179.         end
  180.       end
  181.     end
  182.   end
  183. end
  184. #==============================================================================
  185. #               本脚本出自www.66rpg.com,转载请注明。
  186. #==============================================================================
复制代码
哦= =
那就....

把这个放上面那个脚本之前的任何地方


然后第一行出错是你要把"TileA2"命名的文件 也就是要转换的文件放RMXP的根目录

评分

参与人数 1星屑 +200 收起 理由
「旅」 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
7
 楼主| 发表于 2010-7-21 01:14:47 | 只看该作者
原来还有这样的办法......
谢谢,搞定了!
[img][/img]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4169
在线时间
258 小时
注册时间
2013-10-13
帖子
815
8
发表于 2013-12-8 12:01:42 | 只看该作者
wbsy8241 发表于 2010-7-21 00:55
哦= =
那就....

然后第一行出错是你要把"TileA2"命名的文件 也就是要转换的文件放RMXP的根目录

还是不明白,(说明:我是新手中的新手)

点评

下次不要挖坟  发表于 2013-12-9 13:02

评分

参与人数 1星屑 +5 收起 理由
myownroc + 5 回答奖励(50)/挖坟处罚(10)

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 05:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表