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

Project1

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

[已经解决] 求几个脚本

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-7-30
帖子
37
跳转到指定楼层
1
发表于 2010-8-9 22:12:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
2
发表于 2010-8-9 22:16:05 | 只看该作者
1.懒得回答了都...
2.改分辨率,不用脚本的
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-7-30
帖子
37
3
 楼主| 发表于 2010-8-9 22:17:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
4
发表于 2010-8-9 22:19:33 | 只看该作者
  1. 转bluefool,亿万星辰,ikki】使用地图当战斗背景完美版带范例
  2. 原帖地址;http://www.66rpg.com/htm/news579.htm
  3. 教学摘要:
  4.   本脚本可以直接使用游戏地图当作战斗背景,并且地图上会忽略掉NPC事件。成品脚本完美版,冲突较低,适合需要此效果的作者。
  5. 教程内容
  6.   
  7. 在论坛上曾经有人要过,也有人做出来了,可是,不是很完美(战斗背景总是读取地图的左上角)

  8. 这次,我就发一个完美的版本给大家吧。

  9. 这个版本参考着可以用到双层远景、三层远景里,实现网络版本那种的遇敌效果都没有问题了。

  10.     #===============================================================
  11. # 本脚本来自www.66rpg.com
  12. # 功能:对于没有设置战斗背景的地图,直接用地图做战斗背景
  13. #===============================================================

  14. #==============================================================================
  15. # ■ Spriteset_Map
  16. #------------------------------------------------------------------------------
  17. #  处理地图画面活动块和元件的类。本类在
  18. # Scene_Map 类的内部使用。
  19. #==============================================================================

  20. class Spriteset_Map
  21. #--------------------------------------------------------------------------
  22. # ● 初始化对像
  23. #--------------------------------------------------------------------------
  24. def initialize(flag = false)
  25.    # 生成显示端口
  26.    @viewport1 = Viewport.new(0, 0, 640, 480)
  27.    @viewport2 = Viewport.new(0, 0, 640, 480)
  28.    @viewport3 = Viewport.new(0, 0, 640, 480)
  29.    @viewport2.z = 200
  30.    @viewport3.z = 5000
  31.    # 生成元件地图
  32.    @tilemap = Tilemap.new(@viewport1)
  33.    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  34.    for i in 0..6
  35.      autotile_name = $game_map.autotile_names[i]
  36.      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  37.    end
  38.    @tilemap.map_data = $game_map.data
  39.    @tilemap.priorities = $game_map.priorities
  40.    # 生成远景平面
  41.    @panorama = Plane.new(@viewport1)
  42.    @panorama.z = -1000
  43.    # 生成雾平面
  44.    @fog = Plane.new(@viewport1)
  45.    @fog.z = 3000
  46.    unless flag
  47.      # 生成角色活动块
  48.      @character_sprites = []
  49.      for i in $game_map.events.keys.sort
  50.        sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  51.        @character_sprites.push(sprite)
  52.      end
  53.      @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  54.    end
  55.    # 生成天气
  56.    @weather = RPG::Weather.new(@viewport1)
  57.    # 生成图片
  58.    @picture_sprites = []
  59.    for i in 1..50
  60.      @picture_sprites.push(Sprite_Picture.new(@viewport2,
  61.        $game_screen.pictures[i]))
  62.    end
  63.    # 生成计时器块
  64.    @timer_sprite = Sprite_Timer.new
  65.    # 刷新画面
  66.    update
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● 释放
  70. #--------------------------------------------------------------------------
  71. def dispose(flag = false)
  72.    # 释放元件地图
  73.    @tilemap.tileset.dispose
  74.    for i in 0..6
  75.      @tilemap.autotiles[i].dispose
  76.    end
  77.    @tilemap.dispose
  78.    # 释放远景平面
  79.    @panorama.dispose
  80.    # 释放雾平面
  81.    @fog.dispose
  82.    unless flag
  83.      # 释放角色活动块
  84.      for sprite in @character_sprites
  85.        sprite.dispose
  86.      end
  87.    end
  88.    # 释放天候
  89.    @weather.dispose
  90.    # 释放图片
  91.    for sprite in @picture_sprites
  92.      sprite.dispose
  93.    end
  94.    # 释放计时器块
  95.    @timer_sprite.dispose
  96.    # 释放显示端口
  97.    @viewport1.dispose
  98.    @viewport2.dispose
  99.    @viewport3.dispose
  100. end
  101. #--------------------------------------------------------------------------
  102. # ● 刷新画面
  103. #--------------------------------------------------------------------------
  104. def update
  105.    # 远景与现在的情况有差异发情况下
  106.    if @panorama_name != $game_map.panorama_name or
  107.       @panorama_hue != $game_map.panorama_hue
  108.      @panorama_name = $game_map.panorama_name
  109.      @panorama_hue = $game_map.panorama_hue
  110.      if @panorama.bitmap != nil
  111.        @panorama.bitmap.dispose
  112.        @panorama.bitmap = nil
  113.      end
  114.      if @panorama_name != ""
  115.        @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  116.      end
  117.      Graphics.frame_reset
  118.    end
  119.    # 雾与现在的情况有差异的情况下
  120.    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  121.      @fog_name = $game_map.fog_name
  122.      @fog_hue = $game_map.fog_hue
  123.      if @fog.bitmap != nil
  124.        @fog.bitmap.dispose
  125.        @fog.bitmap = nil
  126.      end
  127.      if @fog_name != ""
  128.        @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  129.      end
  130.      Graphics.frame_reset
  131.    end
  132.    # 刷新元件地图
  133.    @tilemap.ox = $game_map.display_x / 4
  134.    @tilemap.oy = $game_map.display_y / 4
  135.    @tilemap.update
  136.    # 刷新远景平面
  137.    @panorama.ox = $game_map.display_x / 8
  138.    @panorama.oy = $game_map.display_y / 8
  139.    # 刷新雾平面
  140.    @fog.zoom_x = $game_map.fog_zoom / 100.0
  141.    @fog.zoom_y = $game_map.fog_zoom / 100.0
  142.    @fog.opacity = $game_map.fog_opacity
  143.    @fog.blend_type = $game_map.fog_blend_type
  144.    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  145.    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  146.    @fog.tone = $game_map.fog_tone
  147.    if @character_sprites != nil
  148.      # 刷新角色活动块
  149.      for sprite in @character_sprites
  150.        sprite.update
  151.      end
  152.    end
  153.    # 刷新天候图形
  154.    @weather.type = $game_screen.weather_type
  155.    @weather.max = $game_screen.weather_max
  156.    @weather.ox = $game_map.display_x / 4
  157.    @weather.oy = $game_map.display_y / 4
  158.    @weather.update
  159.    # 刷新图片
  160.    for sprite in @picture_sprites
  161.      sprite.update
  162.    end
  163.    # 刷新计时器块
  164.    @timer_sprite.update
  165.    # 设置画面的色调与震动位置
  166.    @viewport1.tone = $game_screen.tone
  167.    @viewport1.ox = $game_screen.shake
  168.    # 设置画面的闪烁色
  169.    @viewport3.color = $game_screen.flash_color
  170.    # 刷新显示端口
  171.    @viewport1.update
  172.    @viewport3.update
  173. end
  174. end
  175. #===============================================================
  176. class Scene_Battle
  177. alias battleback_map_main main
  178. def main
  179. @battleback_sprite = Spriteset_Map.new(true)
  180. battleback_map_main
  181. @battleback_sprite.dispose(true)
  182. end
  183. end
  184. #===============================================================
  185. # 申请者:张永;脚本作者:bluefool 改进人:亿万星辰  完美化:IKKI
  186. #===============================================================

复制代码

点评

这个不能复制!!!  发表于 2010-8-9 22:20

评分

参与人数 1星屑 +2 收起 理由
六祈 + 2 善用编辑

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
5
发表于 2010-8-9 22:20:11 | 只看该作者
我发错了,现在把脚本重新发一边。。。
  1.    #===============================================================

  2. # 本脚本来自www.66rpg.com

  3. # 功能:对于没有设置战斗背景的地图,直接用地图做战斗背景

  4. #===============================================================



  5. #==============================================================================

  6. # ■ Spriteset_Map

  7. #------------------------------------------------------------------------------

  8. #  处理地图画面活动块和元件的类。本类在

  9. # Scene_Map 类的内部使用。

  10. #==============================================================================



  11. class Spriteset_Map

  12. #--------------------------------------------------------------------------

  13. # ● 初始化对像

  14. #--------------------------------------------------------------------------

  15. def initialize(flag = false)

  16.    # 生成显示端口

  17.    @viewport1 = Viewport.new(0, 0, 640, 480)

  18.    @viewport2 = Viewport.new(0, 0, 640, 480)

  19.    @viewport3 = Viewport.new(0, 0, 640, 480)

  20.    @viewport2.z = 200

  21.    @viewport3.z = 5000

  22.    # 生成元件地图

  23.    @tilemap = Tilemap.new(@viewport1)

  24.    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)

  25.    for i in 0..6

  26.      autotile_name = $game_map.autotile_names[i]

  27.      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)

  28.    end

  29.    @tilemap.map_data = $game_map.data

  30.    @tilemap.priorities = $game_map.priorities

  31.    # 生成远景平面

  32.    @panorama = Plane.new(@viewport1)

  33.    @panorama.z = -1000

  34.    # 生成雾平面

  35.    @fog = Plane.new(@viewport1)

  36.    @fog.z = 3000

  37.    unless flag

  38.      # 生成角色活动块

  39.      @character_sprites = []

  40.      for i in $game_map.events.keys.sort

  41.        sprite = Sprite_Character.new(@viewport1, $game_map.events[i])

  42.        @character_sprites.push(sprite)

  43.      end

  44.      @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))

  45.    end

  46.    # 生成天气

  47.    @weather = RPG::Weather.new(@viewport1)

  48.    # 生成图片

  49.    @picture_sprites = []

  50.    for i in 1..50

  51.      @picture_sprites.push(Sprite_Picture.new(@viewport2,

  52.        $game_screen.pictures[i]))

  53.    end

  54.    # 生成计时器块

  55.    @timer_sprite = Sprite_Timer.new

  56.    # 刷新画面

  57.    update

  58. end

  59. #--------------------------------------------------------------------------

  60. # ● 释放

  61. #--------------------------------------------------------------------------

  62. def dispose(flag = false)

  63.    # 释放元件地图

  64.    @tilemap.tileset.dispose

  65.    for i in 0..6

  66.      @tilemap.autotiles[i].dispose

  67.    end

  68.    @tilemap.dispose

  69.    # 释放远景平面

  70.    @panorama.dispose

  71.    # 释放雾平面

  72.    @fog.dispose

  73.    unless flag

  74.      # 释放角色活动块

  75.      for sprite in @character_sprites

  76.        sprite.dispose

  77.      end

  78.    end

  79.    # 释放天候

  80.    @weather.dispose

  81.    # 释放图片

  82.    for sprite in @picture_sprites

  83.      sprite.dispose

  84.    end

  85.    # 释放计时器块

  86.    @timer_sprite.dispose

  87.    # 释放显示端口

  88.    @viewport1.dispose

  89.    @viewport2.dispose

  90.    @viewport3.dispose

  91. end

  92. #--------------------------------------------------------------------------

  93. # ● 刷新画面

  94. #--------------------------------------------------------------------------

  95. def update

  96.    # 远景与现在的情况有差异发情况下

  97.    if @panorama_name != $game_map.panorama_name or

  98.       @panorama_hue != $game_map.panorama_hue

  99.      @panorama_name = $game_map.panorama_name

  100.      @panorama_hue = $game_map.panorama_hue

  101.      if @panorama.bitmap != nil

  102.        @panorama.bitmap.dispose

  103.        @panorama.bitmap = nil

  104.      end

  105.      if @panorama_name != ""

  106.        @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)

  107.      end

  108.      Graphics.frame_reset

  109.    end

  110.    # 雾与现在的情况有差异的情况下

  111.    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue

  112.      @fog_name = $game_map.fog_name

  113.      @fog_hue = $game_map.fog_hue

  114.      if @fog.bitmap != nil

  115.        @fog.bitmap.dispose

  116.        @fog.bitmap = nil

  117.      end

  118.      if @fog_name != ""

  119.        @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)

  120.      end

  121.      Graphics.frame_reset

  122.    end

  123.    # 刷新元件地图

  124.    @tilemap.ox = $game_map.display_x / 4

  125.    @tilemap.oy = $game_map.display_y / 4

  126.    @tilemap.update

  127.    # 刷新远景平面

  128.    @panorama.ox = $game_map.display_x / 8

  129.    @panorama.oy = $game_map.display_y / 8

  130.    # 刷新雾平面

  131.    @fog.zoom_x = $game_map.fog_zoom / 100.0

  132.    @fog.zoom_y = $game_map.fog_zoom / 100.0

  133.    @fog.opacity = $game_map.fog_opacity

  134.    @fog.blend_type = $game_map.fog_blend_type

  135.    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox

  136.    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy

  137.    @fog.tone = $game_map.fog_tone

  138.    if @character_sprites != nil

  139.      # 刷新角色活动块

  140.      for sprite in @character_sprites

  141.        sprite.update

  142.      end

  143.    end

  144.    # 刷新天候图形

  145.    @weather.type = $game_screen.weather_type

  146.    @weather.max = $game_screen.weather_max

  147.    @weather.ox = $game_map.display_x / 4

  148.    @weather.oy = $game_map.display_y / 4

  149.    @weather.update

  150.    # 刷新图片

  151.    for sprite in @picture_sprites

  152.      sprite.update

  153.    end

  154.    # 刷新计时器块

  155.    @timer_sprite.update

  156.    # 设置画面的色调与震动位置

  157.    @viewport1.tone = $game_screen.tone

  158.    @viewport1.ox = $game_screen.shake

  159.    # 设置画面的闪烁色

  160.    @viewport3.color = $game_screen.flash_color

  161.    # 刷新显示端口

  162.    @viewport1.update

  163.    @viewport3.update

  164. end

  165. end

  166. #===============================================================

  167. class Scene_Battle

  168. alias battleback_map_main main

  169. def main

  170. @battleback_sprite = Spriteset_Map.new(true)

  171. battleback_map_main

  172. @battleback_sprite.dispose(true)

  173. end

  174. end

  175. #===============================================================

  176. # 申请者:张永;脚本作者:bluefool 改进人:亿万星辰  完美化:IKKI

  177. #===============================================================
复制代码

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-7-30
帖子
37
6
 楼主| 发表于 2010-8-9 22:25:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
7
发表于 2010-8-9 22:29:27 | 只看该作者
回复 久久 的帖子
那我就不会了。。。
我本来就不会RTAB这种东西。。。在我这里可以的。。。
其实应该是和你后来加进去的什么脚本冲突了。
你看看有什么其他可以不用的战斗的脚本咯

   
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-7-30
帖子
37
8
 楼主| 发表于 2010-8-9 22:30:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
9
发表于 2010-8-9 22:33:59 | 只看该作者
我也是,范例里的问题
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-7-30
帖子
37
10
 楼主| 发表于 2010-8-9 22:36:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-29 22:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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