Project1

标题: Software I program for make map with Panorama [打印本页]

作者: makegamevn    时间: 2008-6-22 20:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: Infrared    时间: 2008-6-22 20:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: makegamevn    时间: 2008-6-22 20:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: hitlerson    时间: 2008-6-22 20:21
偶滴神那,这个家伙又回来了~

今天还是来发软件的,呵呵{/cy}

which material do you want?
作者: 灼眼的夏娜    时间: 2008-6-22 20:22
xd ms ii mono dane ...= =
作者: Infrared    时间: 2008-6-22 20:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: link006007    时间: 2008-6-22 20:25
神一般de都出现了
作者: hitlerson    时间: 2008-6-22 20:26
尤其是引来了 灼眼的夏娜 这种神话时期的人物
作者: makegamevn    时间: 2008-6-22 20:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: Infrared    时间: 2008-6-22 20:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: makegamevn    时间: 2008-6-22 20:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 司马睿风    时间: 2008-6-22 21:08
以下引用makegamevn于2008-6-22 12:20:09的发言:

Sr i have mistake in my post. Please modify it for me T_T sr again

This software need .Net Framwork 2.0 to working. Link to download it

Microsoft .Net Framework 2.0 Download ;  http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

Link down Software( pass : makegamevn) :  http://files.myopera.com/caubechoiguitar87/files/GetGridMap1.0.rar

Microsoft .Net Framework 2.0 Download ,this is for the VB? in VB7.0 or another must use Microsoft .Net Framework 2.0.
Link down Software,this one is very useful,thanks
i know ,this software is written by VB
作者: makegamevn    时间: 2008-6-22 21:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: 墨夜sama    时间: 2008-6-27 18:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天翔    时间: 2008-6-28 01:03
I can not download the software you provide, whether the software will send a EMAIL it to my?  Thank you
My Email is: [email protected]
作者: 天翔    时间: 2008-6-28 01:08
The software is you create the right »
Appears to be a very convenient to do after the original map of the software ah!
So the game can save a lot of time!
Thank you, but I can not link that you download the software, oh. Can be sent to my e-mail address (Email)? »
[email protected]     Thank you
作者: CIS狂人    时间: 2008-6-28 03:39
That's GREAT!
Thanks a lot first and then download it.
(No Distrub.Programming.)
(I've known that there've been a mistake...)
I'm not good at English but Icue knows much.Call him anytime (except when I say he's not at home.He's my neighbour and I can always see him sleeping in his room!)
作者: CIS狂人    时间: 2008-6-28 03:42
By the way,"有事请教" means asking for help,you can change it into "原创发布".That means to share your discovering.
作者: CIS狂人    时间: 2008-6-28 03:45
斑竹把这个帖转到技术发布区.这是德国或者法国朋友的帖子.
作者: cftx    时间: 2008-6-28 05:53
Oh my god,原来66有一大半的外国用户的传言是真的....{/pz}

Well,thank you for your software~~
You can find almost all graphic in Fantasy Sangou on our homepage www.66rpg.com,but i think that you can't search by Chinese,so these is the resources which i can find
http://rpg.blue/web/htm/pic1192.htm
http://rpg.blue/web/htm/pic997.htm
http://rpg.blue/web/htm/pic983.htm
http://rpg.blue/web/htm/pic973.htm
http://rpg.blue/web/htm/pic933.htm
http://rpg.blue/web/htm/pic885.htm
http://rpg.blue/web/htm/pic789.htm
http://rpg.blue/web/htm/pic750.htm
.
.

泪,6级刚考完,还不知道能不能过呢....... [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: CIS狂人    时间: 2008-6-29 22:12
以下引用cftx于2008-6-27 21:53:53的发言:

Oh my god,原来66有一大半的外国用户的传言是真的....

Well,thank you for your software~~
You can find almost all graphic in Fantasy Sangou on our homepage www.66rpg.com,but i think that you can't search by Chinese,so these is the resources which i can find
http://rpg.blue/web/htm/pic1192.htm
http://rpg.blue/web/htm/pic997.htm
http://rpg.blue/web/htm/pic983.htm
http://rpg.blue/web/htm/pic973.htm
http://rpg.blue/web/htm/pic933.htm
http://rpg.blue/web/htm/pic885.htm
http://rpg.blue/web/htm/pic789.htm
http://rpg.blue/web/htm/pic750.htm
.
.

泪,6级刚考完,还不知道能不能过呢.......


[本贴由作者于 2008-6-27 21:55:13 最后编辑]

all graphic(应该是all the graphics),these is(these are)
作者: cftx    时间: 2008-6-29 22:31
{/pz}您就不必来给我短文改错啦~~~~~~~~语法错误这种东西我都无视啦~~~~
作者: david50407    时间: 2008-8-15 01:20
If you question is how to use panorama to draw a map.
You can do this below. (Sorry, my English is not good.)
1. You may go to this page(http://rpg.blue/web/htm/news504.htm) it is a script for use panorama to make a map
2. If you don't know Chinese, you can only copy these letters,
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,使用前请参考制作录像
  3. # 作者:柳柳
  4. #
  5. # 脚本的功能:
  6. #
  7. # 1、设置第二层远景,做遮挡
  8. # 2、设置第三层远景,做通行判定
  9. #    这个通行判定,以图的判定为最高,如果要求某地通行,请把那个地方擦白。
  10. #    本通行判定和录像中讲的方法并不冲突
  11. #==============================================================================
  12. # ■ Spriteset_Map
  13. #------------------------------------------------------------------------------
  14. #  处理地图画面活动块和元件的类。本类在
  15. # Scene_Map 类的内部使用。
  16. #==============================================================================

  17. class Spriteset_Map
  18. #--------------------------------------------------------------------------
  19. # ● 初始化对像
  20. #--------------------------------------------------------------------------
  21. def initialize
  22.    # 生成显示端口
  23.    @viewport1 = Viewport.new(0, 0, 640, 480)
  24.    @viewport2 = Viewport.new(0, 0, 640, 480)
  25.    @viewport3 = Viewport.new(0, 0, 640, 480)
  26.    @viewport2.z = 200
  27.    @viewport3.z = 5000
  28.    # 生成元件地图
  29.    @tilemap = Tilemap.new(@viewport1)
  30.    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  31.    for i in 0..6
  32.      autotile_name = $game_map.autotile_names[i]
  33.      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  34.    end
  35.    @tilemap.map_data = $game_map.data
  36.    @tilemap.priorities = $game_map.priorities
  37.    # 生成远景平面
  38.    @panorama = Plane.new(@viewport1)
  39.    @panorama.z = -1000
  40.    @panorama2 = Plane.new(@viewport1)
  41.    @panorama2.z = 3000
  42.    # 生成雾平面
  43.    @fog = Plane.new(@viewport1)
  44.    @fog.z = 3000
  45.    # 生成角色活动块
  46.    @character_sprites = []
  47.    for i in $game_map.events.keys.sort
  48.      sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  49.      @character_sprites.push(sprite)
  50.    end
  51.    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  52.    # 生成天气
  53.    @weather = RPG::Weather.new(@viewport1)
  54.    # 生成图片
  55.    @picture_sprites = []
  56.    for i in 1..50
  57.      @picture_sprites.push(Sprite_Picture.new(@viewport2,
  58.        $game_screen.pictures[i]))
  59.    end
  60.    # 生成计时器块
  61.    @timer_sprite = Sprite_Timer.new
  62.    # 刷新画面
  63.    update
  64. end
  65. #--------------------------------------------------------------------------
  66. # ● 释放
  67. #--------------------------------------------------------------------------
  68. def dispose
  69.    # 释放元件地图
  70.    @tilemap.tileset.dispose
  71.    for i in 0..6
  72.      @tilemap.autotiles[i].dispose
  73.    end
  74.    @tilemap.dispose
  75.    # 释放远景平面
  76.    @panorama.dispose
  77.    @panorama2.dispose
  78.    # 释放雾平面
  79.    @fog.dispose
  80.    # 释放角色活动块
  81.    for sprite in @character_sprites
  82.      sprite.dispose
  83.    end
  84.    # 释放天候
  85.    @weather.dispose
  86.    # 释放图片
  87.    for sprite in @picture_sprites
  88.      sprite.dispose
  89.    end
  90.    # 释放计时器块
  91.    @timer_sprite.dispose
  92.    # 释放显示端口
  93.    @viewport1.dispose
  94.    @viewport2.dispose
  95.    @viewport3.dispose
  96. end
  97. #--------------------------------------------------------------------------
  98. # ● 刷新画面
  99. #--------------------------------------------------------------------------
  100. def update
  101.    # 远景与现在的情况有差异发情况下
  102.    if @panorama_name != $game_map.panorama_name or
  103.       @panorama_hue != $game_map.panorama_hue
  104.      @panorama_name = $game_map.panorama_name
  105.      @panorama_hue = $game_map.panorama_hue
  106.      if @panorama.bitmap != nil      
  107.        @panorama.bitmap.dispose
  108.        @panarama2.bitmap.dispose
  109.        @panorama2.bitmap = nil
  110.        @panarama.bitmap = nil
  111.      end
  112.      if @panorama_name != ""
  113.        if $panorama3 != nil
  114.         $panorama3.dispose
  115.       end
  116.        $panorama3 = Sprite.new
  117.        $panorama3.bitmap = RPG::Cache.panorama(@panorama_name+"_3", @panorama_hue)
  118.        $panorama3.visible = false
  119.        @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  120.        @panorama2.bitmap = RPG::Cache.panorama(@panorama_name+"_2", @panorama_hue)
  121.      end
  122.      Graphics.frame_reset
  123.    end
  124.    # 雾与现在的情况有差异的情况下
  125.    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  126.      @fog_name = $game_map.fog_name
  127.      @fog_hue = $game_map.fog_hue
  128.      if @fog.bitmap != nil
  129.        @fog.bitmap.dispose
  130.        @fog.bitmap = nil
  131.      end
  132.      if @fog_name != ""
  133.        @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  134.      end
  135.      Graphics.frame_reset
  136.    end
  137.    # 刷新元件地图
  138.    @tilemap.ox = $game_map.display_x / 4
  139.    @tilemap.oy = $game_map.display_y / 4
  140.    @tilemap.update
  141.    # 刷新远景平面
  142.    @panorama.ox = $game_map.display_x / 4
  143.    @panorama.oy = $game_map.display_y / 4
  144.    @panorama2.ox = @panorama.ox
  145.    @panorama2.oy = @panorama.oy
  146.    # 刷新雾平面
  147.    @fog.zoom_x = $game_map.fog_zoom / 100.0
  148.    @fog.zoom_y = $game_map.fog_zoom / 100.0
  149.    @fog.opacity = $game_map.fog_opacity
  150.    @fog.blend_type = $game_map.fog_blend_type
  151.    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  152.    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  153.    @fog.tone = $game_map.fog_tone
  154.    # 刷新角色活动块
  155.    for sprite in @character_sprites
  156.      sprite.update
  157.    end
  158.    # 刷新天候图形
  159.    @weather.type = $game_screen.weather_type
  160.    @weather.max = $game_screen.weather_max
  161.    @weather.ox = $game_map.display_x / 4
  162.    @weather.oy = $game_map.display_y / 4
  163.    @weather.update
  164.    # 刷新图片
  165.    for sprite in @picture_sprites
  166.      sprite.update
  167.    end
  168.    # 刷新计时器块
  169.    @timer_sprite.update
  170.    # 设置画面的色调与震动位置
  171.    @viewport1.tone = $game_screen.tone
  172.    @viewport1.ox = $game_screen.shake
  173.    # 设置画面的闪烁色
  174.    @viewport3.color = $game_screen.flash_color
  175.    # 刷新显示端口
  176.    @viewport1.update
  177.    @viewport3.update
  178. end
  179. end
  180. #==============================================================================
  181. # 本脚本来自www.66rpg.com,使用前请参考制作录像
  182. #==============================================================================
  183. #==============================================================================
  184. # ■ Game_Map
  185. #------------------------------------------------------------------------------
  186. #  处理地图的类。包含卷动以及可以通行的判断功能。
  187. # 本类的实例请参考 $game_map 。
  188. #==============================================================================
  189. class Game_Map
  190. attr_accessor :map
  191. attr_accessor :map_id
  192.    #--------------------------------------------------------------------------
  193. # ● 可以通行判定
  194. #     x          : X 坐标
  195. #     y          : Y 坐标
  196. #     d          : 方向 (0,2,4,6,8,10)
  197. #                  ※ 0,10 = 全方向不能通行的情况的判定 (跳跃等)
  198. #     self_event : 自己 (判定事件可以通行的情况下)
  199. #--------------------------------------------------------------------------
  200. def passable?(x, y, d, self_event = nil)
  201.    # 被给予的坐标地图外的情况下
  202.    unless valid?(x, y)
  203.      # 不能通行
  204.      return false
  205.    end
  206.    martix = [false,false,false,false,false,false,false,false,false]
  207.    for panorama_x in 32*x..32*x+10
  208.      next if panorama_x %2 == 0
  209.      for panorama_y in 32*y..32*y+10
  210.        next if panorama_y %2 == 0
  211.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  212.        if color.green.to_i==0
  213.          martix[0] = true
  214.          break
  215.        end
  216.      end
  217.      break if martix[0]
  218.    end
  219.    for panorama_x in 32*x+10..32*x+22
  220.      next if panorama_x %2 == 0
  221.      for panorama_y in 32*y..32*y+10
  222.      next if panorama_y %2 == 0
  223.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  224.        if color.green.to_i==0
  225.          martix[1] = true
  226.          break
  227.        end
  228.      end
  229.      break if martix[1]
  230.    end
  231.    for panorama_x in 32*x+23..32*x+32
  232.      next if panorama_x %2 == 0
  233.      for panorama_y in 32*y..32*y+10
  234.      next if panorama_x %y == 0
  235.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  236.        if color.green.to_i==0
  237.          martix[2] = true
  238.          break
  239.        end
  240.      end
  241.      break if martix[2]
  242.    end
  243.    for panorama_x in 32*x..32*x+10
  244.      next if panorama_x %2 == 0
  245.      for panorama_y in 32*y+10..32*y+22
  246.        next if panorama_y %2 == 0
  247.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  248.        if color.green.to_i==0
  249.          martix[3] = true
  250.          break
  251.        end
  252.      end
  253.      break if martix[3]
  254.    end
  255.    for panorama_x in 32*x+10..32*x+22
  256.      next if panorama_x %2 == 0
  257.      for panorama_y in 32*y+10..32*y+22
  258.      next if panorama_y %2 == 0
  259.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  260.        if color.green.to_i==0
  261.          martix[4] = true
  262.          break
  263.        end
  264.      end
  265.      break if martix[4]
  266.    end
  267.    for panorama_x in 32*x+23..32*x+32
  268.      next if panorama_x %2 == 0
  269.      for panorama_y in 32*y+10..32*y+22
  270.      next if panorama_x %y == 0
  271.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  272.        if color.green.to_i==0
  273.          martix[5] = true
  274.          break
  275.        end
  276.      end
  277.      break if martix[5]
  278.    end
  279.    for panorama_x in 32*x..32*x+10
  280.      next if panorama_x %2 == 0
  281.      for panorama_y in 32*y+23..32*y+32
  282.        next if panorama_y %2 == 0
  283.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  284.        if color.green.to_i==0
  285.          martix[6] = true
  286.          break
  287.        end
  288.      end
  289.      break if martix[6]
  290.    end
  291.    for panorama_x in 32*x+10..32*x+22
  292.      next if panorama_x %2 == 0
  293.      for panorama_y in 32*y+23..32*y+32
  294.      next if panorama_y %2 == 0
  295.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  296.        if color.green.to_i==0
  297.          martix[7] = true
  298.          break
  299.        end
  300.      end
  301.      break if martix[7]
  302.    end
  303.    for panorama_x in 32*x+23..32*x+32
  304.      next if panorama_x %2 == 0
  305.      for panorama_y in 32*y+23..32*y+32
  306.      next if panorama_x %y == 0
  307.        color = $panorama3.bitmap.get_pixel(panorama_x,panorama_y)
  308.        if color.green.to_i==0
  309.          martix[8] = true
  310.          break
  311.        end
  312.      end
  313.      break if martix[8]
  314.    end
  315.    pass_up = true
  316.    pass_down = true
  317.    pass_left = true
  318.    pass_right = true
  319.    #---------------------------------------------------------------------
  320.    # 注意,如果打算严格要求,则把and前加井号。我测试感觉放松似乎更自然一些,看情况吧。
  321.    # 这种算法是把一个小格分为9个格(参考小键盘)
  322.    #
  323.    # 放松要求是2,4,6,8格决定能否通行
  324.    # 而严格要求则是2,4,6,8格并且要求至少附带临近旁一格才能通行
  325.    #---------------------------------------------------------------------
  326.    if martix[1] and (martix[0] or martix[2])
  327.      pass_up = false
  328.    end
  329.    if martix[3] and (martix[0] or martix[6])
  330.      pass_left = false
  331.    end
  332.    if martix[7] and (martix[6] or martix[8])
  333.      pass_down = false
  334.    end
  335.    if martix[5] and (martix[2] or martix[8])
  336.      pass_right = false
  337.    end
  338.    if martix[4]
  339.      pass_up = false
  340.      pass_down = false
  341.      pass_left = false
  342.      pass_right = false
  343.    end
  344.    pass_up = pass_up== false ? 0 : 1
  345.    pass_left = pass_left== false ? 0 : 1
  346.    pass_right = pass_right== false ? 0 : 1
  347.    pass_down = pass_down== false ? 0 : 1
  348.    pass = pass_down * 1 + pass_left * 2 + pass_right * 4 + pass_up * 8
  349.    pass = 15-pass
  350.   
  351.    # 方向 (0,2,4,6,8,10) 与障碍物接触 (0,1,2,4,8,0) 后变换
  352.    bit = (1 << (d / 2 - 1)) & 0x0f
  353.    # 循环全部的事件
  354.    for event in events.values
  355.      # 自己以外的元件与坐标相同的情况
  356.      if event.tile_id >= 0 and event != self_event and
  357.         event.x == x and event.y == y and not event.through
  358.        # 如果障碍物的接触被设置的情况下
  359.        if @passages[event.tile_id] & bit != 0
  360.          # 不能通行
  361.          return false
  362.        # 如果全方向的障碍物的接触被设置的情况下
  363.        elsif @passages[event.tile_id] & 0x0f == 0x0f
  364.          # 不能通行
  365.          return false
  366.        # 这以外的优先度为 0 的情况下
  367.        elsif @priorities[event.tile_id] == 0
  368.          # 可以通行
  369.          return true
  370.        end
  371.      end
  372.    end
  373.    # 从层按从上到下的顺序调查循环
  374.    for i in [2, 1, 0]
  375.      # 取得元件 ID
  376.      tile_id = data[x, y, i]           
  377.      # 取得元件 ID 失败
  378.      if tile_id == nil
  379.        # 不能通行
  380.        return false
  381.      # 如果障碍物的接触被设置的情况下
  382.      elsif @passages[tile_id] & bit != 0
  383.        # 不能通行
  384.        return false
  385.      # 如果全方向的障碍物的接触被设置的情况下
  386.      elsif @passages[tile_id] & 0x0f == 0x0f
  387.        # 不能通行
  388.        return false
  389.      # 这以外的优先度为 0 的情况下
  390.      elsif @priorities[tile_id] == 0
  391.        # 可以通行
  392.        #p pass
  393.        if pass & bit != 0
  394.          return false
  395.        elsif pass & 0x0f == 0x0f
  396.          return false
  397.        end
  398.      end
  399.    end
  400.    # 可以通行
  401.    return true
  402. end
  403. end
  404. #==============================================================================
  405. # 本脚本的用途请参考制作录像
  406. #==============================================================================
复制代码

3. Prepare 3 panoramas and rename them ["XXX","XXX_2","XXX_3"](you can chenge "XXX" to the other letters)
4. The first panorama is the picture you want to show under the character.
5. The second panorama will be on the top .
6. The third panorama is telling RGSS where can the character walk, it might be this way:
(1) First, cut this panorama to 3x3 cells.(like RPG Maker XP's map)
(2) Second, if this cell can walk, please color this cell to white
(3) If it can't walk, please color it without white.
7. Okay. Test you game.
*. These 3 panoramas will be the same size
*. My English is so bad, if you can't understand you can chat to me by MSN(My msn is : [email protected])

Good luck!
作者: 叮当猫的马甲    时间: 2008-8-15 02:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 叮当猫的马甲    时间: 2008-8-15 02:05
提示: 作者被禁止或删除 内容自动屏蔽




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