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

Project1

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

[已经解决] 如何将战斗地图直接默认游戏地图?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
42 小时
注册时间
2012-5-14
帖子
124
跳转到指定楼层
1
发表于 2012-5-18 17:28:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如何将战斗地图直接默认游戏地图?


Lv1.梦旅人

梦石
0
星屑
39
在线时间
529 小时
注册时间
2012-3-15
帖子
469
2
发表于 2012-5-18 20:12:40 | 只看该作者
http://rpg.blue/forum.php?mod=viewthread&tid=224142
使用这个脚本。
须在地图编辑器中勾选“指定战斗背景图像”,两者都选“无”就行。



PHP 代码复制
  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



‘‘──任F于2012-5-18 21:43补充以下内容

那个是横版战斗(不容易用),
详见这个:http://rpgex.sakura.ne.jp/home/material/sv_ace.html  (即上方脚本作者使用的)
或是这个:http://rpg.blue/thread-216673-1-1.html
另外,一帖多问不是好孩子~
’’

点评

你知道怎么才能和他那样显示角色吗?  发表于 2012-5-18 21:23

于是咱也把项目放在签名里督促自己吧。。。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 13:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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