查看: 3661|回复: 4

[已经解决] 關於一個改變戰鬥背景圖的腳本

[复制链接]
梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
回帖
129
发表于 2013-2-25 22:47:36 | 显示全部楼层 |阅读模式

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

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

×
腳本如下:當我選擇2的時候(用自己的圖片作為戰鬥圖)
測試下去,地圖id-0001是ok的,
但是我有好幾個地圖要設定不同的戰鬥圖,
比方說地圖2---用森林、地圖3---用瀑布,請問這樣我要怎麼改腳本。

[pre lang="ruby" line="1"]#==============================================================================
# ■ VX-RGSS2 改变战斗背景 [版本.1.0.0]     by Claimh
# 改变战斗的背景图.
#==============================================================================


module BattleBack
#   选择战斗背景
#   0:当前地图的战斗背景,为战斗背景(默认VX的样式)
#   1:目前使用的地图作为战斗背景
#   2:使用自己的图片,为战斗背景
BB_TYPE = 2  # 在这里输入上面提到的编号

# 显示战斗地面
BT_FLOOR = false

# 使用的图片(如果你选择的编号为2)
M_B_BACK = {
   # 地图编号 => "(Graphics/System/图片名)"
  1 => "戰鬥圖-英文符號"
}
end


#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● Creating Battle Back Sprite
#--------------------------------------------------------------------------
def create_battleback
  case BattleBack::BB_TYPE
  when 0
    source = $game_temp.background_bitmap
    bitmap = Bitmap.new(640, 480)
    bitmap.stretch_blt(bitmap.rect, source, source.rect)
    bitmap.radial_blur(90, 12)
    @battleback_sprite = Sprite.new(@viewport1)
    @battleback_sprite.bitmap = bitmap
    @battleback_sprite.ox = 320
    @battleback_sprite.oy = 240
    @battleback_sprite.x = 272
    @battleback_sprite.y = 176
    @battleback_sprite.wave_amp = 8
    @battleback_sprite.wave_length = 240
    @battleback_sprite.wave_speed = 120
  when 1
    source = $game_temp.background_bitmap
    bitmap = Bitmap.new(640, 480)
    bitmap.stretch_blt(bitmap.rect, source, source.rect)
    @battleback_sprite = Sprite.new(@viewport1)
    @battleback_sprite.bitmap = bitmap
    @battleback_sprite.ox = 320
    @battleback_sprite.oy = 240
    @battleback_sprite.x = 272
    @battleback_sprite.y = 176
  when 2
    @battleback_sprite = BattleBackSprite.new(@viewport1)
  end
end
#--------------------------------------------------------------------------
# ● Creating Battle Floor Sprite
#--------------------------------------------------------------------------

def create_battlefloor
  create_battlefloor_mbb if BattleBack::BT_FLOOR
end
#--------------------------------------------------------------------------
# ● Delete Battle Floor Sprite
#--------------------------------------------------------------------------

def dispose_battlefloor
  dispose_battlefloor_mbb if BattleBack::BT_FLOOR
end
#--------------------------------------------------------------------------
# ● Update Battle Floor Sprite
#--------------------------------------------------------------------------

def update_battlefloor
  update_battlefloor_mbb if BattleBack::BT_FLOOR
end
end


#==============================================================================
# ■ BattleBackSprite
#==============================================================================
class BattleBackSprite < Sprite
# Background Screen Size
WIDTH  = 544.00
HEIGHT = 288.00
#--------------------------------------------------------------------------
# ● Object Initialization
#     viewport : viewport
#--------------------------------------------------------------------------
def initialize(viewport = nil)
  super(viewport)
  self.bitmap = Cache.system(BattleBack::M_B_BACK[$game_map.map_id])
  # Zoom is carried out according to picture size.
  @x_zoom = WIDTH / self.bitmap.width
  @y_zoom = HEIGHT / self.bitmap.height
  @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom
  # Zoom is carried out.
  self.zoom_x = @zoom
  self.zoom_y = @zoom
  # Made into central display.
  self.ox = self.bitmap.width / 2
  self.oy = self.bitmap.height / 2
  self.x = (self.bitmap.width / 2)  * @zoom
  self.y = (self.bitmap.height / 2) * @zoom
end
end[/pre]

点评

把你改了的载图或发脚本上来看看,最好工程  发表于 2013-2-26 01:28

发表于 2013-2-25 23:59:31 | 显示全部楼层
QQ截图20130225235715.png
  1. # 使用的图片(如果你选择的编号为2)
  2. M_B_BACK = {
  3.    # 地图编号 => "(Graphics/System/图片名)"
  4.   1 => "戰鬥圖-英文符號"
  5. }
复制代码
首先将图片放到[游戏目录/Graphics/System/]
然后看上面的脚本这里
1 => "戰鬥圖-英文符號"
意思是 地图 1 的战斗背景为    游戏目录/Graphics/System/戰鬥圖-英文符號.png
于是你再后面再加

2 => "戰鬥圖3"
3 => "戰鬥圖4"
..............

这样就行了吧?

点评

我就是像你說的這樣子設定,但是會跳錯誤,所以才來發問Q_Q  发表于 2013-2-26 00:37

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 认可答案

查看全部评分

我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复

使用道具 举报

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
回帖
129
 楼主| 发表于 2013-2-26 01:50:50 | 显示全部楼层
本帖最后由 sakazaki 于 2013-2-26 01:58 编辑
彭格列第XI代 发表于 2013-2-25 23:59
首先将图片放到[游戏目录/Graphics/System/]
然后看上面的脚本这里
1 => "戰鬥圖-英文符號"


[pre lang="ruby" line="1"]module BattleBack
#   选择战斗背景
#   0:当前地图的战斗背景,为战斗背景(默认VX的样式)
#   1:目前使用的地图作为战斗背景
#   2:使用自己的图片,为战斗背景
BB_TYPE = 2  # 在这里输入上面提到的编号

# 显示战斗地面
BT_FLOOR = false

# 使用的图片(如果你选择的编号为2)
M_B_BACK = {
   # 地图编号 => "(Graphics/System/图片名)"
  1 => "戰鬥圖-英文符號"
  2 => "戰鬥圖-英文符號"
}
end
[/pre]

就像這樣,一進GAME就當掉了

ERR訊息:
script"戰鬥背景變更"line 25:SyntaxError occurred.

有勞您了!!

点评

喔@@ 抱歉 我誤會了  发表于 2013-2-27 21:17
他说的工程是游戏好呗……  发表于 2013-2-26 22:09
工程就是我一開始貼的那個啊@@ 全都在那邊了  发表于 2013-2-26 21:21
把工程直接压缩给我好不= =  发表于 2013-2-26 19:27

评分

参与人数 1星屑 +20 收起 理由
怪蜀黍 + 20 上次处罚重了,补回,以后对新人处罚减半.

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
回帖
129
 楼主| 发表于 2013-2-27 21:20:45 | 显示全部楼层
sakazaki 发表于 2013-2-26 01:50
module BattleBack
#   选择战斗背景
#   0:当前地图的战斗背景,为战斗背景(默认VX的样式)

我知道**出錯了@@

module BattleBack
#   选择战斗背景
#   0:当前地图的战斗背景,为战斗背景(默认VX的样式)
#   1:目前使用的地图作为战斗背景
#   2:使用自己的图片,为战斗背景
BB_TYPE = 1  # 在这里输入上面提到的编号

# 显示战斗地面
BT_FLOOR = false

# 使用的图片(如果你选择的编号为2)
M_B_BACK = {
   # 地图编号 => "(Graphics/System/图片名)"
  1 => "戰鬥圖-英文符號",<<<<<<<<這邊忘記加逗號Q_Q
  2 => "戰鬥圖-英文符號",
}
end

我的問題解決了,謝謝幾位前輩指教
回复

使用道具 举报

梦石
0
星屑
50
在线时间
150 小时
注册时间
2013-8-4
回帖
67
发表于 2013-8-10 11:42:51 | 显示全部楼层
完全看不懂耶!

评分

参与人数 1星屑 -30 收起 理由
怪蜀黍 -30 挖坟

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部