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

Project1

 找回密码
 注册会员
搜索

关于战斗背景的问题

查看数: 1458 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2010-8-20 11:47

正文摘要:

本帖最后由 反斗奇彬 于 2010-8-21 19:01 编辑 想问一下战斗时候显示的那个战斗背景,如何让它显示满整个窗口

回复

沉夜 发表于 2010-8-20 15:02:57
本帖最后由 沉夜 于 2010-8-20 15:04 编辑

楼主要做仙3动画版么?

楼主自己解决了?
plummy 发表于 2010-8-20 14:12:54
楼主结贴吧
DLawliet 发表于 2010-8-20 14:07:39
提示: 作者被禁止或删除 内容自动屏蔽
plummy 发表于 2010-8-20 13:52:37
  1. #==============================================================================
  2. # ■ Spriteset_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  5. # 的内部使用。
  6. #==============================================================================

  7. class Spriteset_Battle
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :viewport1                # 敌人方的显示端口
  12.   attr_reader   :viewport2                # 角色方的显示端口
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化变量
  15.   #--------------------------------------------------------------------------
  16.   def initialize
  17.     # 生成显示端口
  18.     @viewport1 = Viewport.new(0, 0, 640, 480)
  19.     @viewport2 = Viewport.new(0, 0, 640, 480)
  20.     @viewport3 = Viewport.new(0, 0, 640, 480)
  21.     @viewport4 = Viewport.new(0, 0, 640, 480)
  22.     @viewport2.z = 101
  23.     @viewport3.z = 200
  24.     @viewport4.z = 5000
  25.     # 生成战斗背景活动块
  26.     @battleback_sprite = Sprite.new(@viewport1)
  27.     # 生成敌人活动块
  28.     @enemy_sprites = []
  29.     for enemy in $game_troop.enemies.reverse
  30.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  31.     end
  32.     # 生成敌人活动块
  33.     @actor_sprites = []
  34.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  35.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  36.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  37.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  38.     # 生成天候
  39.     @weather = RPG::Weather.new(@viewport1)
  40.     # 生成图片活动块
  41.     @picture_sprites = []
  42.     for i in 51..100
  43.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  44.         $game_screen.pictures[i]))
  45.     end
  46.     # 生成计时器块
  47.     @timer_sprite = Sprite_Timer.new
  48.     # 刷新画面
  49.     update
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 释放
  53.   #--------------------------------------------------------------------------
  54.   def dispose
  55.     # 如果战斗背景位图存在的情况下就释放
  56.     if @battleback_sprite.bitmap != nil
  57.       @battleback_sprite.bitmap.dispose
  58.     end
  59.     # 释放战斗背景活动块
  60.     @battleback_sprite.dispose
  61.     # 释放敌人活动块、角色活动块
  62.     for sprite in @enemy_sprites + @actor_sprites
  63.       sprite.dispose
  64.     end
  65.     # 释放天候
  66.     @weather.dispose
  67.     # 释放图片活动块
  68.     for sprite in @picture_sprites
  69.       sprite.dispose
  70.     end
  71.     # 释放计时器活动块
  72.     @timer_sprite.dispose
  73.     # 释放显示端口
  74.     @viewport1.dispose
  75.     @viewport2.dispose
  76.     @viewport3.dispose
  77.     @viewport4.dispose
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 显示效果中判定
  81.   #--------------------------------------------------------------------------
  82.   def effect?
  83.     # 如果是在显示效果中的话就返回 true
  84.     for sprite in @enemy_sprites + @actor_sprites
  85.       return true if sprite.effect?
  86.     end
  87.     return false
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 刷新画面
  91.   #--------------------------------------------------------------------------
  92.   def update
  93.     # 刷新角色的活动块 (对应角色的替换)
  94.     @actor_sprites[0].battler = $game_party.actors[0]
  95.     @actor_sprites[1].battler = $game_party.actors[1]
  96.     @actor_sprites[2].battler = $game_party.actors[2]
  97.     @actor_sprites[3].battler = $game_party.actors[3]
  98.     # 战斗背景的文件名与现在情况有差异的情况下
  99.     if @battleback_name != $game_temp.battleback_name
  100.       @battleback_name = $game_temp.battleback_name
  101.       if @battleback_sprite.bitmap != nil
  102.         @battleback_sprite.bitmap.dispose
  103.       end
  104.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  105.       @battleback_sprite.src_rect.set(0, 0, 640, 480)
  106.     end
  107.     # 刷新战斗者的活动块
  108.     for sprite in @enemy_sprites + @actor_sprites
  109.       sprite.update
  110.     end
  111.     # 刷新天气图形
  112.     @weather.type = $game_screen.weather_type
  113.     @weather.max = $game_screen.weather_max
  114.     @weather.update
  115.     # 刷新图片活动块
  116.     for sprite in @picture_sprites
  117.       sprite.update
  118.     end
  119.     # 刷新计时器活动块
  120.     @timer_sprite.update
  121.     # 设置画面的色调与震动位置
  122.     @viewport1.tone = $game_screen.tone
  123.     @viewport1.ox = $game_screen.shake
  124.     # 设置画面的闪烁色
  125.     @viewport4.color = $game_screen.flash_color
  126.     # 刷新显示端口
  127.     @viewport1.update
  128.     @viewport2.update
  129.     @viewport4.update
  130.   end
  131. end
复制代码

点评

覆盖Spriteset_Battle  发表于 2010-8-20 13:52
DLawliet 发表于 2010-8-20 12:04:14
提示: 作者被禁止或删除 内容自动屏蔽
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-1 03:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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