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

Project1

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

[RMVA发布] 【VA】【完全原创非移植非修改】地图做战斗背景

[复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
跳转到指定楼层
1
发表于 2012-3-1 17:18:40 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 杂兵天下 于 2012-3-1 21:37 编辑
  1. def mapbatbac
  2.   return false if $BTEST
  3.   return false if $game_map.battleback1_name!=""
  4.   return false if $game_map.battleback2_name!=""
  5.   return true
  6. end
  7. class Spriteset_Battle
  8.   def initialize
  9.     create_viewports
  10.     if mapbatbac
  11.       create_tilemap
  12.       create_parallax
  13.       create_characters
  14.       create_shadow
  15.       create_weather
  16.     end
  17.     create_battleback1
  18.     create_battleback2
  19.     create_enemies
  20.     create_actors
  21.     create_pictures
  22.     create_timer
  23.     update
  24.   end
  25.   def dispose
  26.     if mapbatbac
  27.       dispose_tilemap
  28.       dispose_parallax
  29.       dispose_characters
  30.       dispose_shadow
  31.       dispose_weather
  32.     end
  33.     dispose_battleback1
  34.     dispose_battleback2
  35.     dispose_enemies
  36.     dispose_actors
  37.     dispose_pictures
  38.     dispose_timer
  39.     dispose_viewports
  40.   end
  41.   def update
  42.     if mapbatbac
  43.       update_tileset
  44.       update_tilemap
  45.       update_parallax
  46.       update_characters
  47.       update_shadow
  48.       update_weather
  49.     end
  50.     update_battleback1
  51.     update_battleback2
  52.     update_enemies
  53.     update_actors
  54.     update_pictures
  55.     update_timer
  56.     update_viewports
  57.   end
  58.   def create_characters
  59.     @character_sprites = []
  60.     $game_map.events.values.each do |event|
  61.       @character_sprites.push(Sprite_Character.new(@viewport1, event))
  62.     end
  63.     $game_map.vehicles.each do |vehicle|
  64.       @character_sprites.push(Sprite_Character.new(@viewport1, vehicle))
  65.     end
  66.     @map_id = $game_map.map_id
  67.   end
  68.   def update_characters
  69.     refresh_characters if @map_id != $game_map.map_id
  70.     @character_sprites.each {|sprite| sprite.update }
  71.   end
  72.   def dispose_characters
  73.     @character_sprites.each {|sprite| sprite.dispose }
  74.   end
  75.   def create_tilemap
  76.     @tilemap = Tilemap.new(@viewport1)
  77.     @tilemap.map_data = $game_map.data
  78.     load_tileset
  79.   end
  80.   def load_tileset
  81.     @tileset = $game_map.tileset
  82.     @tileset.tileset_names.each_with_index do |name, i|
  83.       @tilemap.bitmaps[i] = Cache.tileset(name)
  84.     end
  85.     @tilemap.flags = @tileset.flags
  86.   end
  87.   def create_parallax
  88.     @parallax = Plane.new(@viewport1)
  89.     @parallax.z = -100
  90.   end
  91.   def create_shadow
  92.     @shadow_sprite = Sprite.new(@viewport1)
  93.     @shadow_sprite.bitmap = Cache.system("Shadow")
  94.     @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2
  95.     @shadow_sprite.oy = @shadow_sprite.bitmap.height
  96.     @shadow_sprite.z = 180
  97.   end
  98.   def create_weather
  99.     @weather = Spriteset_Weather.new(@viewport2)
  100.   end
  101.   
  102.   def dispose_tilemap
  103.     @tilemap.dispose
  104.   end
  105.   def dispose_parallax
  106.     @parallax.bitmap.dispose if @parallax.bitmap
  107.     @parallax.dispose
  108.   end
  109.   def dispose_shadow
  110.     @shadow_sprite.dispose
  111.   end
  112.   def dispose_weather
  113.     @weather.dispose
  114.   end
  115.   def update_tileset
  116.     if @tileset != $game_map.tileset
  117.       load_tileset
  118.       refresh_characters
  119.     end
  120.   end
  121.   def update_tilemap
  122.     @tilemap.map_data = $game_map.data
  123.     @tilemap.ox = $game_map.display_x * 32
  124.     @tilemap.oy = $game_map.display_y * 32
  125.     @tilemap.update
  126.   end
  127.   def update_parallax
  128.     if @parallax_name != $game_map.parallax_name
  129.       @parallax_name = $game_map.parallax_name
  130.       @parallax.bitmap.dispose if @parallax.bitmap
  131.       @parallax.bitmap = Cache.parallax(@parallax_name)
  132.       Graphics.frame_reset
  133.     end
  134.     @parallax.ox = $game_map.parallax_ox(@parallax.bitmap)
  135.     @parallax.oy = $game_map.parallax_oy(@parallax.bitmap)
  136.   end
  137.   def update_shadow
  138.     airship = $game_map.airship
  139.     @shadow_sprite.x = airship.screen_x
  140.     @shadow_sprite.y = airship.screen_y + airship.altitude
  141.     @shadow_sprite.opacity = airship.altitude * 8
  142.     @shadow_sprite.update
  143.   end
  144.   def update_weather
  145.     @weather.type = $game_map.screen.weather_type
  146.     @weather.power = $game_map.screen.weather_power
  147.     @weather.ox = $game_map.display_x * 32
  148.     @weather.oy = $game_map.display_y * 32
  149.     @weather.update
  150.   end
  151. end
复制代码
完全兼容Tantenkai0.97战斗系统。
如果要开启地图战斗背景模式,
请在地图设置中选择指定战斗背景图像
然后把两个背景都选择为无即可。


现在有图有真相了
恩,已经修改了,更新后版本可以显示事件。

tankentai.png (257.2 KB, 下载次数: 27)

tankentai.png

tankentai.png (257.2 KB, 下载次数: 35)

tankentai.png

点评

-_-放游戏里没反应。。  发表于 2012-3-4 09:19

评分

参与人数 2星屑 +100 收起 理由
Jousun + 10 周围的事件都变成了地图,如何隐藏?.
hcm + 90 塞糖

查看全部评分

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

本版积分规则

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

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

GMT+8, 2024-5-17 11:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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