Project1

标题: 关于战斗背景图形 [打印本页]

作者: qybrry    时间: 2008-11-10 07:18
标题: 关于战斗背景图形
我是刚刚学习制作RGP游戏的新手,我玩别人的游戏时,都看到很漂亮的战斗背景图形。

请问各位大侠,在VX里如何设置战斗背景图形啊?
(在xp里好像数据库的队伍里就可以设置,而VX里我找不到) [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 5693744    时间: 2008-11-10 08:11
VX默认的方式只是把你所在的位置的地图模糊一下.没法设置..
可以用脚本.
  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
复制代码
[LINE]1,#dddddd[/LINE]版主对此帖的认可:『LZ认可错误,补分』,积分『+250』。
作者: qybrry    时间: 2008-11-10 19:09
非常感谢你,5693744

作者: 雪流星    时间: 2008-11-10 20:06
请认可答案 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: sagamore    时间: 2008-11-10 21:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雪流星    时间: 2008-11-10 21:52
你认可我做什麽..........{/gg}
作者: qybrry    时间: 2008-11-11 06:07
哦,真是不好意思,第一次,没注意,下次一定注意!!
作者: 沉影不器    时间: 2008-11-11 06:09
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1