幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1870|回复: 6

各位帮我看看这个脚本有什么用?

[复制链接]

42

主题

167

帖子

857

积分

⑤进阶

good job!

积分
857
QQ
发表于 2006-9-1 23:39:59 | 显示全部楼层 |阅读模式
网上找的,那人说是3D脚本,我就试了试,结果看起来没什么效果,各位帮我试试呢

脚本如下:
  1. #==============================================================================
  2. # ** Spriteset_Map
  3. #------------------------------------------------------------------------------
  4. #  This class brings together map screen sprites, tilemaps, etc.
  5. #  It's used within the Scene_Map class.
  6. #==============================================================================
  7. class Spriteset_Map
  8.   #--------------------------------------------------------------------------
  9.   # * Object Initialization
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     # Make viewports
  13.     @viewport1 = Viewport.new(0, 0, 640, 480)
  14.     @viewport2 = Viewport.new(0, 0, 640, 480)
  15.     @viewport3 = Viewport.new(0, 0, 640, 480)
  16.     @viewport2.z = 200
  17.     @viewport3.z = 5000
  18.     # Make tilemap
  19.     @tilemap = Tilemap.new(@viewport1)
  20.     @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  21.     for i in 0..6
  22.       autotile_name = $game_map.autotile_names[i]
  23.       @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  24.     end
  25.     @tilemap.map_data = $game_map.data
  26.     @tilemap.priorities = $game_map.priorities
  27.     # Make panorama plane
  28.     @panorama = Plane.new(@viewport1)
  29.     @panorama.z = -1000
  30.     # Make fog plane
  31.     @fog = Plane.new(@viewport1)
  32.     @fog.z = 3000
  33.     # Make character sprites
  34.     @character_sprites = []
  35.     for i in $game_map.events.keys.sort
  36.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  37.       @character_sprites.push(sprite)
  38.     end
  39.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  40.     # Make weather
  41.     @weather = RPG::Weather.new(@viewport1)
  42.     # Make picture sprites
  43.     @picture_sprites = []
  44.     for i in 1..50
  45.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  46.         $game_screen.pictures[i]))
  47.     end
  48.     # Make timer sprite
  49.     @timer_sprite = Sprite_Timer.new
  50.     # Frame update
  51.     update
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # * Dispose
  55.   #--------------------------------------------------------------------------
  56.   def dispose
  57.     # Dispose of tilemap
  58.     @tilemap.tileset.dispose
  59.     for i in 0..6
  60.       @tilemap.autotiles[i].dispose
  61.     end
  62.     @tilemap.dispose
  63.     # Dispose of panorama plane
  64.     @panorama.dispose
  65.     # Dispose of fog plane
  66.     @fog.dispose
  67.     # Dispose of character sprites
  68.     for sprite in @character_sprites
  69.       sprite.dispose
  70.     end
  71.     # Dispose of weather
  72.     @weather.dispose
  73.     # Dispose of picture sprites
  74.     for sprite in @picture_sprites
  75.       sprite.dispose
  76.     end
  77.     # Dispose of timer sprite
  78.     @timer_sprite.dispose
  79.     # Dispose of viewports
  80.     @viewport1.dispose
  81.     @viewport2.dispose
  82.     @viewport3.dispose
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # * Frame Update
  86.   #--------------------------------------------------------------------------
  87.   def update
  88.     # If panorama is different from current one
  89.     if @panorama_name != $game_map.panorama_name or
  90.        @panorama_hue != $game_map.panorama_hue
  91.       @panorama_name = $game_map.panorama_name
  92.       @panorama_hue = $game_map.panorama_hue
  93.       if @panorama.bitmap != nil
  94.         @panorama.bitmap.dispose
  95.         @panorama.bitmap = nil
  96.       end
  97.       if @panorama_name != ""
  98.         @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  99.       end
  100.       Graphics.frame_reset
  101.     end
  102.     # If fog is different than current fog
  103.     if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  104.       @fog_name = $game_map.fog_name
  105.       @fog_hue = $game_map.fog_hue
  106.       if @fog.bitmap != nil
  107.         @fog.bitmap.dispose
  108.         @fog.bitmap = nil
  109.       end
  110.       if @fog_name != ""
  111.         @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  112.       end
  113.       Graphics.frame_reset
  114.     end
  115.     # Update tilemap
  116.     @tilemap.ox = $game_map.display_x / 4
  117.     @tilemap.oy = $game_map.display_y / 4
  118.     @tilemap.update
  119.     # Update panorama plane
  120.     @panorama.ox = $game_map.display_x / 8
  121.     @panorama.oy = $game_map.display_y / 8
  122.     # Update fog plane
  123.     @fog.zoom_x = $game_map.fog_zoom / 100.0
  124.     @fog.zoom_y = $game_map.fog_zoom / 100.0
  125.     @fog.opacity = $game_map.fog_opacity
  126.     @fog.blend_type = $game_map.fog_blend_type
  127.     @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  128.     @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  129.     @fog.tone = $game_map.fog_tone
  130.     # Update character sprites
  131.     for sprite in @character_sprites
  132.       sprite.update
  133.     end
  134.     # Update weather graphic
  135.     @weather.type = $game_screen.weather_type
  136.     @weather.max = $game_screen.weather_max
  137.     @weather.ox = $game_map.display_x / 4
  138.     @weather.oy = $game_map.display_y / 4
  139.     @weather.update
  140.     # Update picture sprites
  141.     for sprite in @picture_sprites
  142.       sprite.update
  143.     end
  144.     # Update timer sprite
  145.     @timer_sprite.update
  146.     # Set screen color tone and shake position
  147.     @viewport1.tone = $game_screen.tone
  148.     @viewport1.ox = $game_screen.shake
  149.     # Set screen flash color
  150.     @viewport3.color = $game_screen.flash_color
  151.     # Update viewports
  152.     @viewport1.update
  153.     @viewport3.update
  154.   end
  155. end
复制代码
回复

使用道具 举报

42

主题

167

帖子

857

积分

⑤进阶

good job!

积分
857
QQ
 楼主| 发表于 2006-9-1 23:41:05 | 显示全部楼层
这是原文,全是E文,看不懂(我英语垃圾...)
http://post.baidu.com/f?kz=126997438
回复 支持 反对

使用道具 举报

42

主题

167

帖子

857

积分

⑤进阶

good job!

积分
857
QQ
 楼主| 发表于 2006-9-1 23:42:55 | 显示全部楼层
这是原文,全是E文,看不懂(我英语垃圾...)
http://post.baidu.com/f?kz=126997438
回复 支持 反对

使用道具 举报

3

主题

232

帖子

583

积分

⑤进阶

哇咔咔~传说中的称号.

积分
583
发表于 2006-9-2 08:50:56 | 显示全部楼层
[s:5] 这个就素那个超华丽的伪3D.....我记得在水区有个类似的帖.........
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2006-9-2 17:00:53 | 显示全部楼层
翻译:

只要在地图名称后面加上[#40]或者是[OV]就可以达到相应效果。

[#40]可以造成伪3D的地图歪斜效果。(估计这里的40是指倾斜角度)
[OV]可以缩小角色,造成高视角的效果。
而且两者的效果可以互相叠加。例如:
[OV][#12]可以造成高视角+地图12度斜角伪3D效果。
地图名之后什么都不加的话就是普通地图视角。

这个作者又是那个越南人Faha Giang……好厉害……不过这个脚本貌似又是无断转载过来的…… [s:5]
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

42

主题

167

帖子

857

积分

⑤进阶

good job!

积分
857
QQ
 楼主| 发表于 2006-9-2 19:59:58 | 显示全部楼层
引用第4楼杀鸡四天王2006-09-02 17:00发表的“”:
翻译:

只要在地图名称后面加上[#40]或者是[OV]就可以达到相应效果。

[#40]可以造成伪3D的地图歪斜效果。(估计这里的40是指倾斜角度)
.......


怎么我用了没效果呢
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2006-9-2 22:00:39 | 显示全部楼层
引用第5楼爱在⑴元钱2006-09-02 19:59发表的“”:



怎么我用了没效果呢

因为根本就不止这一个脚本。
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-29 14:03 , Processed in 0.011253 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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