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

Project1

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

请帮忙看看这个脚本

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
0 小时
注册时间
2008-2-21
帖子
83
跳转到指定楼层
1
发表于 2008-7-2 23:58:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这是一个调用战斗背景的脚本

不知道这个脚本可不可以用当前地图作为战斗背景呢?

不要VX自带的眩晕效果



  1. module MOG_VX02
  2. #Definição da switch que ativa o efeito Wave.  
  3. BB_WAVE_SWITCH = 0
  4. #Definição da switch que ativa a versão VX.
  5. BB_VXEDITION_SWITCH = 0
  6. end
  7. #-------------------------------------------------
  8. $mogscript = {} if $mogscript == nil
  9. $mogscript["battleback_xp"] = true
  10. #-------------------------------------------------
  11. ###############
  12. # Game_System #
  13. ###############
  14. class Game_System
  15. attr_accessor :bb
  16. alias mog_vx02_initialize initialize
  17. def initialize
  18. mog_vx02_initialize
  19. @bb = ""
  20. end
  21. end
  22. ###############
  23. # Module Cache #
  24. ###############
  25. module Cache  
  26.   def self.battleback(filename)
  27.     load_bitmap("Graphics/battlebacks/", filename)
  28.   end
  29. end
  30. #################
  31. # Spriteset_Battle #
  32. #################
  33. class Spriteset_Battle
  34. include MOG_VX02
  35.   def create_battleback
  36.     @battleback_sprite = Sprite.new(@viewport1)
  37.     source = Cache.battleback($game_system.bb.to_s) rescue empty
  38.     if  $game_switches[BB_WAVE_SWITCH] == true
  39.     bitmap = Bitmap.new(640, 480)
  40.     else
  41.     bitmap = Bitmap.new(544, 288)
  42.     end
  43.     bitmap.stretch_blt(bitmap.rect, source, source.rect)
  44.     bitmap.radial_blur(90, 12) if  $game_switches[BB_VXEDITION_SWITCH] == true
  45.     @battleback_sprite.bitmap = bitmap
  46.     wave_on if  $game_switches[BB_WAVE_SWITCH] == true
  47. end
  48. def wave_on
  49.     @battleback_sprite.ox = 320
  50.     @battleback_sprite.oy = 240
  51.     @battleback_sprite.x = 272
  52.     @battleback_sprite.y = 176  
  53.     @battleback_sprite.wave_amp = 8
  54.     @battleback_sprite.wave_length = 240
  55.     @battleback_sprite.wave_speed = 120     
  56. end
  57. def empty
  58.    @battleback_sprite.bitmap =  $game_temp.background_bitmap
  59. end
  60. def create_battlefloor
  61.     if  $game_switches[BB_VXEDITION_SWITCH] == true
  62.     @battlefloor_sprite = Sprite.new(@viewport1)
  63.     @battlefloor_sprite.bitmap = Cache.system("BattleFloor")
  64.     @battlefloor_sprite.x = 0
  65.     @battlefloor_sprite.y = 192
  66.     @battlefloor_sprite.z = 1
  67.     @battlefloor_sprite.opacity = 128
  68.     else
  69.     @battlefloor_sprite = Sprite.new(@viewport1)
  70.     end
  71.   end
  72. end
复制代码

版务信息:本贴由楼主自主结贴~

Lv2.观梦者

神隐的主犯

梦石
0
星屑
289
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

2
发表于 2008-7-3 00:00:37 | 只看该作者
那么,还是用这个脚本好了。{/hx}

  1. #==============================================================================
  2. # ■ VX-RGSS2 改变战斗背景 [版本.1.0.0]     by Claimh
  3. #------------------------------------------------------------------------------
  4. # 英语翻译 By: Elemental Crisis [http://www.rpgcrisis.net]
  5. # 中文翻译 By: zero2 [http://rpg.blue/web]
  6. #------------------------------------------------------------------------------
  7. # 改变战斗的背景图.
  8. #==============================================================================


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

  15. # 显示战斗地面
  16. BT_FLOOR = false

  17. # 使用的图片(如果你选择的编号为2)
  18. M_B_BACK = {
  19.   # 地图编号 => "(Graphics/System/图片名)"
  20.   71 => "Sea",
  21.   72 => "Sea of clouds"
  22. }
  23. end


  24. #==============================================================================
  25. # ■ Spriteset_Battle
  26. #==============================================================================
  27. class Spriteset_Battle
  28. #--------------------------------------------------------------------------
  29. # ● Creating Battle Back Sprite
  30. #--------------------------------------------------------------------------
  31. def create_battleback
  32.   case BattleBack::BB_TYPE
  33.   when 0
  34.     source = $game_temp.background_bitmap
  35.     bitmap = Bitmap.new(640, 480)
  36.     bitmap.stretch_blt(bitmap.rect, source, source.rect)
  37.     bitmap.radial_blur(90, 12)
  38.     @battleback_sprite = Sprite.new(@viewport1)
  39.     @battleback_sprite.bitmap = bitmap
  40.     @battleback_sprite.ox = 320
  41.     @battleback_sprite.oy = 240
  42.     @battleback_sprite.x = 272
  43.     @battleback_sprite.y = 176
  44.     @battleback_sprite.wave_amp = 8
  45.     @battleback_sprite.wave_length = 240
  46.     @battleback_sprite.wave_speed = 120
  47.   when 1
  48.     source = $game_temp.background_bitmap
  49.     bitmap = Bitmap.new(640, 480)
  50.     bitmap.stretch_blt(bitmap.rect, source, source.rect)
  51.     @battleback_sprite = Sprite.new(@viewport1)
  52.     @battleback_sprite.bitmap = bitmap
  53.     @battleback_sprite.ox = 320
  54.     @battleback_sprite.oy = 240
  55.     @battleback_sprite.x = 272
  56.     @battleback_sprite.y = 176
  57.   when 2
  58.     @battleback_sprite = BattleBackSprite.new(@viewport1)
  59.   end
  60. end
  61. #--------------------------------------------------------------------------
  62. # ● Creating Battle Floor Sprite
  63. #--------------------------------------------------------------------------
  64. alias create_battlefloor_mbb create_battlefloor
  65. def create_battlefloor
  66.   create_battlefloor_mbb if BattleBack::BT_FLOOR
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● Delete Battle Floor Sprite
  70. #--------------------------------------------------------------------------
  71. alias dispose_battlefloor_mbb dispose_battlefloor
  72. def dispose_battlefloor
  73.   dispose_battlefloor_mbb if BattleBack::BT_FLOOR
  74. end
  75. #--------------------------------------------------------------------------
  76. # ● Update Battle Floor Sprite
  77. #--------------------------------------------------------------------------
  78. alias update_battlefloor_mbb update_battlefloor
  79. def update_battlefloor
  80.   update_battlefloor_mbb if BattleBack::BT_FLOOR
  81. end
  82. end


  83. #==============================================================================
  84. # ■ BattleBackSprite
  85. #==============================================================================
  86. class BattleBackSprite < Sprite
  87. # Background Screen Size
  88. WIDTH  = 544.00
  89. HEIGHT = 288.00
  90. #--------------------------------------------------------------------------
  91. # ● Object Initialization
  92. #     viewport : viewport
  93. #--------------------------------------------------------------------------
  94. def initialize(viewport = nil)
  95.   super(viewport)
  96.   self.bitmap = Cache.system(BattleBack::M_B_BACK[$game_map.map_id])
  97.   # Zoom is carried out according to picture size.
  98.   @x_zoom = WIDTH / self.bitmap.width
  99.   @y_zoom = HEIGHT / self.bitmap.height
  100.   @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom
  101.   # Zoom is carried out.
  102.   self.zoom_x = @zoom
  103.   self.zoom_y = @zoom
  104.   # Made into central display.
  105.   self.ox = self.bitmap.width / 2
  106.   self.oy = self.bitmap.height / 2
  107.   self.x = (self.bitmap.width / 2)  * @zoom
  108.   self.y = (self.bitmap.height / 2) * @zoom
  109. end
  110. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
0 小时
注册时间
2008-2-21
帖子
83
3
 楼主| 发表于 2008-7-3 00:09:48 | 只看该作者
那么如果我想在游戏中

改自己的战斗背景图片为使用地图作战斗背景

应该怎么做呢?
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
289
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

4
发表于 2008-7-3 00:11:08 | 只看该作者
参考这个:

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



然后指定 地图ID => 图片名字

  1. # 使用的图片(如果你选择的编号为2)
  2. M_B_BACK = {
  3.   # 地图编号 => "(Graphics/System/图片名)"
  4.   71 => "Sea",
  5.   72 => "Sea of clouds"
  6. }
复制代码


《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
0 小时
注册时间
2008-2-21
帖子
83
5
 楼主| 发表于 2008-7-3 00:25:42 | 只看该作者
{/pz}不好意思,我太白了,看不懂啊~

是不是这个意思?

那个71是地图“海”的编号,只要在海上行走的话,战斗背景就是图片“Sea”是吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
289
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

6
发表于 2008-7-3 00:42:14 | 只看该作者
那个 71 是地图ID号,意思是,在71号地图上遇敌,战斗背景就是使用 Sea 这张图片。

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
0 小时
注册时间
2008-2-21
帖子
83
7
 楼主| 发表于 2008-7-3 18:08:00 | 只看该作者
那也不行啊,总不能一整张地图全是海洋吧~

那这样可不可以,特定战斗用XP的战斗背景,一般杂兵用当前地图或者眩晕效果做战斗背景呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-26 20:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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