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

Project1

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

[讨论] Valkyrie stories 的地图是怎么做的?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
47
在线时间
537 小时
注册时间
2011-6-28
帖子
655
跳转到指定楼层
1
发表于 2011-12-13 22:49:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
vx不是2d的么。。Valkyrie stories 做的这么棒看起来感觉像2.5D的。
记得以前xp有人发过伪3D的地图块看着画面。。。。都懂得。。

===============
好棒的。支持一下~\(≧▽≦)/~啦啦啦~

Lv2.观梦者

梦石
0
星屑
653
在线时间
2658 小时
注册时间
2010-6-28
帖子
1361

开拓者

7
发表于 2011-12-17 00:32:31 | 只看该作者
本帖最后由 我的米呀 于 2011-12-17 01:26 编辑
myboy2011 发表于 2011-12-16 22:18
看不懂。。直接复制?


于是补上原版范例……最近rpgmakervx.net怎么上不去了……各种PSI错误……OTZ
好吧,于是听取了皮卡星君的建议……在这个微妙的时间点我把范例下载地址和谐了……
有爱的人可以自行去rpgmakervx.net搜索并下载,或者谷歌……

点评

地图党路过XD~~话说前辈求认识=。=~~~  发表于 2011-12-17 01:33
其实那个暗化效果不是Hanzo原创的(反正我看到其他的游戏用到了) 而且制作那种效果,难度不是很高,修改battle的start_target_enemy_selection即可=w=~~  发表于 2011-12-17 01:28
那个网站要翻新了(黑幕得知=w=),不过新版有可能不好看……囧 话说要给就私聊啊…那个地图图块…SSD乱用不解释…DK前辈知道的话会被追杀的…= =  发表于 2011-12-17 01:06

                 无从有中来,有从无中生。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
537 小时
注册时间
2011-6-28
帖子
655
6
 楼主| 发表于 2011-12-16 22:18:16 | 只看该作者
我的米呀 发表于 2011-12-16 22:14
其实真相就是ultimate overlays……(所谓的地图贴图)

看不懂。。直接复制?

点评

这脚本我就在用,表示很方便的说=w=~~~ 各种光影效果我都办到了XD  发表于 2011-12-16 22:51
教程还没看到那么复杂的  发表于 2011-12-16 22:18

===============
好棒的。支持一下~\(≧▽≦)/~啦啦啦~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
653
在线时间
2658 小时
注册时间
2010-6-28
帖子
1361

开拓者

5
发表于 2011-12-16 22:14:05 | 只看该作者
其实真相就是ultimate overlays……(所谓的地图贴图)
  1. #==============================================================================
  2. #              U L T I M A T E    O V E R L A Y    M A P P I N G
  3. #                           Script By: Hanzo Kimura
  4. #                            Date Created: 08/11/10
  5. #==============================================================================
  6. module HK_UOM
  7.   
  8. #=================================== SET UP ===================================#
  9. # SCREEN SETUP
  10.   Width   = 544           # The Size of Resolution (Screen's Width)  544/640
  11.   Height  = 416           # The Size of Resolution (Screen's Height) 416/480
  12. # SWITCHES
  13.   LightSwitch = 1         #Switch to Activate Light Overlays
  14.   ShadowSwitch = 2        #Switch to Activate Shadow Overlays
  15.   ParSwitch = 1           #Switch to Activate Parallax Overlays
  16.   GroundSwitch = 1        #Switch to Activate Ground Overlays
  17. # FILENAMES
  18.   LightMap = "Light"      #The name of the file for Light Overlays
  19.   ShadowMap = "Shadow"    #The name of the file for Shadow Overlays
  20.   ParMap = "Par"          #The name of the file for Parallax Overlays
  21.   GroundMap = "Ground"    #The name of the file for Ground Overlays

  22. #================================ END OF SET UP ===============================#
  23. end


  24. # OVERLAY SCRIPT STARTS HERE #
  25. module Cache
  26.   def self.overlay(filename)
  27.     load_bitmap("Overlays/", filename)
  28.   end
  29. end
  30. class Spriteset_Map
  31.   include HK_UOM
  32.   alias hk_uom_initialize initialize
  33.   def initialize
  34.     @GroundON = FileTest.exist?("Overlays/" + "ground" + $game_map.map_id.to_s + ".png")
  35.     hk_uom_initialize
  36.     update
  37.   end
  38.   alias hk_uom_create_parallax create_parallax
  39.   def create_parallax
  40.     if @GroundON
  41.       @ground = Sprite.new(@viewport1)
  42.       @ground.z = 1
  43.       @ground.bitmap = Cache.overlay("ground" + $game_map.map_id.to_s)
  44.     end
  45.     hk_uom_create_parallax
  46.   end
  47.   alias hk_uom_dispose_parallax dispose_parallax
  48.   def dispose_parallax
  49.     if @ground != nil
  50.      @ground.dispose
  51.    end
  52.     hk_uom_dispose_parallax
  53. end
  54.    alias hk_uom_update_parallax update_parallax
  55.    def update_parallax
  56.     if @ground != nil
  57.         @ground.visible = $game_switches[GroundSwitch]
  58.     end
  59.     if @ground != nil
  60.         @ground.tone = $game_map.screen.tone
  61.         @viewport1.ox = $game_map.screen.shake  #update shake screen
  62.         @viewport1.color = $game_map.screen.flash_color #update flash screen
  63.         if @ground.ox != -$game_map.display_x / 256 or @ground.oy != -$game_map.display_y / 256 or @ground.ox == 0 or @ground.oy == 0
  64.           @ground.ox = $game_map.display_x / 8
  65.           @ground.oy = $game_map.display_y / 8
  66.         end
  67.       end
  68.     hk_uom_update_parallax
  69.     end
  70. end
  71. #==============================================================================
  72. # Scene Map
  73. #==============================================================================
  74. class Scene_Map < Scene_Base
  75.   alias hk_uom_start start
  76.   def start
  77.     hk_uom_start
  78.     $OverlayMap = Overlay_Map.new
  79.   end
  80.   def terminate
  81.     super
  82.     if $scene.is_a?(Scene_Battle)
  83.       @spriteset.dispose_characters
  84.     end
  85.     snapshot_for_background
  86.     @spriteset.dispose
  87.     @message_window.dispose
  88.     $OverlayMap.dispose
  89.     if $scene.is_a?(Scene_Battle)
  90.       perform_battle_transition
  91.     end
  92.   end
  93.   def update
  94.     super
  95.     $game_map.interpreter.update
  96.     $game_map.update
  97.     $game_player.update
  98.     $game_system.update
  99.     @spriteset.update
  100.     @message_window.update
  101.     $OverlayMap.update
  102.     unless $game_message.visible
  103.       update_transfer_player
  104.       update_encounter
  105.       update_call_menu
  106.       update_call_debug
  107.       update_scene_change
  108.     end
  109.   end
  110.   def update_transfer_player
  111.     return unless $game_player.transfer?
  112.     fade = (Graphics.brightness > 0)
  113.     fadeout(30) if fade
  114.     @spriteset.dispose
  115.     $game_player.perform_transfer
  116.     $game_map.autoplay
  117.     $game_map.update
  118.     Graphics.wait(15)
  119.     @spriteset = Spriteset_Map.new
  120.     $OverlayMap.dispose
  121.     $OverlayMap = Overlay_Map.new
  122.     fadein(30) if fade
  123.     Input.update
  124.   end
  125. end
  126. #==============================================================================
  127. # Overlay
  128. #==============================================================================
  129. class Overlay_Map
  130. include HK_UOM
  131.   def initialize
  132.     check_file
  133.     display_overlay
  134.   end
  135.   def check_file
  136.     @LightON = FileTest.exist?("Overlays/" + LightMap + $game_map.map_id.to_s + ".jpg")
  137.     @ShadowON = FileTest.exist?("Overlays/" + ShadowMap + $game_map.map_id.to_s + ".jpg")
  138.     @ParON = FileTest.exist?("Overlays/" + ParMap + $game_map.map_id.to_s + ".png")
  139.     @GroundON = FileTest.exist?("Overlays/" + GroundMap + $game_map.map_id.to_s + ".png")
  140.   end
  141.   
  142.   # Displaying Overlays SET UP #
  143.   def display_overlay
  144.     if @LightON
  145.       @light_viewport = Viewport.new(0, 0, Width, Height)
  146.       @light_viewport.z = 10
  147.       @light = Sprite.new(@light_viewport)
  148.       @light.bitmap = Cache.overlay(LightMap + $game_map.map_id.to_s)
  149.       @light.z = 10
  150.       @light.opacity = 115
  151.       @light.blend_type = 1
  152.       @light.visible = $game_switches[LightSwitch]
  153.     end
  154.     if @ShadowON
  155.       @shadow_viewport = Viewport.new(0, 0, Width, Height)
  156.       @shadow_viewport.z = 9
  157.       @shadow = Sprite.new(@shadow_viewport)
  158.       @shadow.bitmap = Cache.overlay(ShadowMap + $game_map.map_id.to_s)
  159.       @shadow.z = 9
  160.       @shadow.opacity = 85
  161.       @shadow.blend_type = 2
  162.       @shadow.visible = $game_switches[ShadowSwitch]
  163.       end
  164.     if @ParON
  165.       @par_viewport = Viewport.new(0, 0, Width, Height)
  166.       @par_viewport.z = 8
  167.       @par = Sprite.new(@par_viewport)
  168.       @par.z = 8
  169.       @par.bitmap = Cache.overlay(ParMap + $game_map.map_id.to_s)
  170.       @par.tone = $game_map.screen.tone
  171.       @par.opacity = 255
  172.       @par.blend_type = 0
  173.       @par.visible = $game_switches[ParSwitch]
  174.     end
  175.     update
  176.   end
  177.   
  178.   # Update Overlays SET UP #
  179.   def update
  180.       if @light != nil
  181.         @light.visible = $game_switches[LightSwitch]
  182.       end
  183.       if @shadow != nil
  184.         @shadow.visible = $game_switches[ShadowSwitch]
  185.       end
  186.       if @par != nil
  187.         @par.visible = $game_switches[ParSwitch]
  188.       end
  189.       if @light != nil
  190.         @light.tone = $game_map.screen.tone #update screentone
  191.         @light_viewport.ox = $game_map.screen.shake #update shake screen
  192.         @light_viewport.color = $game_map.screen.flash_color #update flash screen
  193.         if @light.x != $game_map.display_x / 256 or @light.y != $game_map.display_y / 256 or @light.x == 0 or @light.y == 0
  194.           @light.ox = $game_map.display_x / 8
  195.           @light.oy = $game_map.display_y / 8
  196.         end #./
  197.       end #./
  198.       if @shadow != nil
  199.         @shadow.tone = $game_map.screen.tone #update screentone
  200.         @shadow_viewport.ox = $game_map.screen.shake #update shake screen
  201.         @shadow_viewport.color = $game_map.screen.flash_color #update flash screen
  202.         if @shadow.x != $game_map.display_x / 256 or @shadow.y != $game_map.display_y / 256 or @shadow.x == 0 or @shadow.y == 0
  203.           @shadow.ox = $game_map.display_x / 8
  204.           @shadow.oy = $game_map.display_y / 8
  205.         end #./
  206.       end #./
  207.       if @par != nil
  208.         @par.tone = $game_map.screen.tone #update screentone
  209.         @par_viewport.ox = $game_map.screen.shake  #update shake screen
  210.         @par_viewport.color = $game_map.screen.flash_color #update flash screen
  211.         if @par.ox != $game_map.display_x / 256 or @par.oy != $game_map.display_y / 256 or @par.ox == 0 or @par.oy == 0
  212.           @par.ox = $game_map.display_x / 8
  213.           @par.oy = $game_map.display_y / 8
  214.         end #./
  215.       end #./
  216.   end #def end
  217.   def dispose
  218.       if @light != nil
  219.         @light_viewport.dispose
  220.         @light.dispose
  221.       end
  222.       if @shadow != nil
  223.         @shadow_viewport.dispose
  224.         @shadow.dispose
  225.       end
  226.       if @par != nil
  227.         @par_viewport.dispose
  228.         @par.dispose
  229.       end
  230.   end
  231. end
复制代码

                 无从有中来,有从无中生。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
537 小时
注册时间
2011-6-28
帖子
655
4
 楼主| 发表于 2011-12-16 18:29:28 | 只看该作者
皮卡星 发表于 2011-12-14 00:09
咦?咦?!咦?!!妈!(超级大雾,请无视 )
为啥有人召唤我了?我原来还有存在感?
...

特效?额。rmvx里带的特效?

点评

脚本+图片哦亲  发表于 2011-12-16 20:48

===============
好棒的。支持一下~\(≧▽≦)/~啦啦啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

3
发表于 2011-12-14 00:09:01 | 只看该作者
本帖最后由 皮卡星 于 2011-12-14 00:13 编辑

咦?咦?!咦?!!妈!(超级大雾,请无视
为啥有人召唤我了?我原来还有存在感?
话说VS本来就是2D的哦
只是特效的运用很强大而已啦~~~~~~

点评

= =我们不是早就认识了么?又是一个群组的。  发表于 2011-12-17 01:34
可惜被我瞎折腾后弄残了(摊手  发表于 2011-12-17 01:30
恩,我确实看到是在那里改的了,不过我在想怎么把它再弄得华丽点(去屎吧华丽党……),比如根据对象不同绘制不同立绘和各种数据啥的。  发表于 2011-12-17 01:30
= =||不过比起这个,任意拆了VS挖出里面的战斗暗化效果的人类们实在让我囧得无以复加……  发表于 2011-12-17 01:22
ssd么= =||嘛,等他下完了速度撤了吧,不过我觉得这种偷偷摸摸的做法实在很那啥……况且Hanzo本来就放在网上让网友下载的……  发表于 2011-12-17 01:21

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

2
发表于 2011-12-13 22:54:59 | 只看该作者

点评

MSQ
音君肿么了?请帮忙代问下好~~  发表于 2011-12-16 18:32
囧 音君生病了吗  发表于 2011-12-13 23:41
会的,短暂期间暂时不会回来  发表于 2011-12-13 23:11
音君不会回来了吗 囧  发表于 2011-12-13 23:02
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 13:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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