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

Project1

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

[已经解决] 如何随机更改战斗背景

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
3 小时
注册时间
2012-5-4
帖子
284
跳转到指定楼层
1
发表于 2012-6-14 19:15:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
老是一幅很不美观

Lv1.梦旅人

54酱是大笨蛋!

梦石
0
星屑
66
在线时间
1389 小时
注册时间
2011-2-23
帖子
5014
3
发表于 2012-6-14 20:37:54 | 只看该作者
  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 = 2  # 在这里输入上面提到的编号

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

  17. # 使用的图片(如果你选择的编号为2)
  18. M_B_BACK = {
  19.   # 地图编号 => "(Graphics/System/图片名)"
  20.   14 => "bg_树林"
  21.   10 => "bg_树林"

  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
复制代码
LS脚本的原版...
不知道有什么不同...
仅做参考...
去你爹的现充.去你爹的异性恋.
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1384
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

2
发表于 2012-6-14 19:26:28 | 只看该作者
随便扒了个站上的脚本..给你改了改
RUBY 代码复制
  1. #==============================================================================
  2. # ■ VX-RGSS2 改变战斗背景 [版本.1.0.0]     by Claimh  修改:铅笔描绘的思念
  3. #------------------------------------------------------------------------------
  4. # 改变战斗的背景图.
  5. #==============================================================================
  6.  
  7.  
  8. module BattleBack
  9.  
  10. # 使用的图片
  11. M_B_BACK = [ "001-Fog01",  "测试" ]#  "(Graphics/Battleback/图片名)"
  12. end
  13. module Cache
  14.   def self.battleback(filename)
  15.     load_bitmap("Graphics/Battleback/", filename)
  16.  
  17.   end
  18. end
  19.  
  20. class Spriteset_Battle
  21. def create_battleback
  22.    @battleback_sprite = BattleBackSprite.new(@viewport1)
  23. end
  24. end
  25.  
  26.  
  27. #==============================================================================
  28. # ■ BattleBackSprite
  29. #==============================================================================
  30. class BattleBackSprite < Sprite
  31. # Background Screen Size
  32. WIDTH  = 544.00
  33. HEIGHT = 416.00
  34. #--------------------------------------------------------------------------
  35. # ● Object Initialization
  36. #     viewport : viewport
  37. #--------------------------------------------------------------------------
  38. def initialize(viewport = nil)
  39.    super(viewport)
  40.    random = rand(BattleBack::M_B_BACK.size)
  41.    self.bitmap = Cache.battleback(BattleBack::M_B_BACK[random])
  42.    # Zoom is carried out according to picture size.
  43.    @x_zoom = WIDTH / self.bitmap.width
  44.    @y_zoom = HEIGHT / self.bitmap.height
  45.    @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom
  46.    # Zoom is carried out.
  47.    self.zoom_x = @zoom
  48.    self.zoom_y = @zoom
  49.    # Made into central display.
  50.    self.ox = self.bitmap.width / 2
  51.    self.oy = self.bitmap.height / 2
  52.    self.x = (self.bitmap.width / 2)  * @zoom
  53.    self.y = (self.bitmap.height / 2) * @zoom
  54.  
  55.   end
  56. end
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 00:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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