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

Project1

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

[已经解决] 如何在地图中战斗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2012-4-1
帖子
16
跳转到指定楼层
1
发表于 2012-4-2 14:58:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
不是进入战斗界面战斗

Lv1.梦旅人

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

点评

谢了  发表于 2012-4-4 11:30
内事不决问@度娘,外事不决问@谷哥。
有此二人辅佐,何愁天下不定乎!
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

4
发表于 2012-4-3 19:02:06 | 只看该作者
本帖最后由 忧雪の伤 于 2012-4-3 19:02 编辑

请善用搜查: ARPG
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
104
在线时间
1242 小时
注册时间
2010-6-30
帖子
573
3
发表于 2012-4-3 18:47:56 | 只看该作者
null
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
69 小时
注册时间
2012-3-3
帖子
79
2
发表于 2012-4-3 11:42:50 | 只看该作者
本提问区的置顶版务贴有个图书馆,里面有“用地图做战斗背景”的脚本。

点评

那个外站我看不懂  发表于 2012-4-3 14:08
内事不决问@度娘,外事不决问@谷哥。
有此二人辅佐,何愁天下不定乎!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 05:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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