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

Project1

 找回密码
 注册会员
搜索

战斗时人物状态栏透明

查看数: 1825 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-3-12 12:32

正文摘要:

使绿圈那儿变半透明,可以看到战斗背景

回复

忧雪の伤 发表于 2011-3-12 12:39:01
  1. #==============================================================================
  2. # ■ 【ISA】系统设定强化 - System Alteration Strengthen
  3. #------------------------------------------------------------------------------
  4. # - 2011.2.27
  5. #   初始化 忧雪の伤
  6. #______________________________________________________________________________
  7. #
  8. # 追加系统的一些常见设定。
  9. #
  10. #==============================================================================
  11. #==============================================================================
  12. # ★ 设定部分 ★
  13. #==============================================================================
  14. module ISA
  15.   # 功能开关
  16.   SAS = true
  17.   #--------------------------------------------------------------------------
  18.   # ● 系统
  19.   #--------------------------------------------------------------------------
  20.   # 自动全屏
  21.   SAS_SCREEN = false
  22.   # 脚本容错
  23.   SAS_ERROR = true
  24.   # FPS设定
  25.   SAS_FRAME = 40
  26.   #--------------------------------------------------------------------------
  27.   # ● 地图
  28.   #--------------------------------------------------------------------------
  29.   # 伪八方向行走
  30.   SAS_DIR = true
  31.   #--------------------------------------------------------------------------
  32.   # ● 战斗
  33.   #--------------------------------------------------------------------------
  34.   # 战斗状态窗口透明度
  35.   SAS_STATUS_OPACITY = 160  
  36.   # 战斗背景全屏
  37.   SAS_BACK = true
  38.   # 战斗背景自动放大
  39.   SAS_BACK_ZOOM = true
  40.   # 敌人近大远小
  41.   SAS_ENEMY_ZOOM = true
  42. end

  43. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  44. # 注册【ISA】
  45. $ISA = {} if $ISA == nil
  46. $ISA["SAS"] = true

  47. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  48. #==============================================================================
  49. # ★ 开关判定 ★
  50. #==============================================================================

  51. if ISA::SAS == true then
  52.   Graphics.frame_rate = ISA::SAS_FRAME
  53.   
  54. #==============================================================================
  55. # ★ 全屏判定 ★
  56. #==============================================================================

  57. if ISA::SAS_SCREEN
  58.   Screen = Win32API.new 'user32', 'keybd_event', %w(l l l l), ' '
  59.   Screen.call(18,0,0,0)
  60.   Screen.call(13,0,0,0)
  61.   Screen.call(13,0,2,0)
  62.   Screen.call(18,0,2,0)
  63. end

  64. #==============================================================================
  65. # ★ 容错判定 ★
  66. #==============================================================================

  67. if ISA::SAS_ERROR
  68.   class Object
  69.     def method_missing(m, *args)
  70.       return
  71.     end  
  72.   end
  73. end

  74. if ISA::SAS_DIR then
  75.   
  76. #==============================================================================
  77. # ■ Game_Player
  78. #------------------------------------------------------------------------------
  79. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  80. # 本类的实例请参考 $game_player。
  81. #==============================================================================

  82. class Game_Player < Game_Character
  83.   #--------------------------------------------------------------------------
  84.   # ● 画面更新
  85.   #--------------------------------------------------------------------------
  86.   alias old_update update
  87.   def update
  88.     old_update
  89.     # 移动中、事件执行中、强制移动路线中、
  90.     # 信息窗口一个也不显示的时候
  91.     unless moving? or $game_system.map_interpreter.running? or
  92.            @move_route_forcing or $game_temp.message_window_showing
  93.       # 如果方向键被按下、主角就朝那个方向移动
  94.       case Input.dir8
  95.       when 1
  96.         move_lower_left
  97.       when 2
  98.         move_down
  99.       when 3
  100.         move_lower_right
  101.       when 4
  102.         move_left
  103.       when 6
  104.         move_right
  105.       when 7
  106.         move_upper_left
  107.       when 8
  108.         move_up
  109.       when 9
  110.         move_upper_right
  111.       end
  112.     end
  113.   end
  114. end

  115. end


  116. #==============================================================================
  117. # ■ Window_BattleStatus
  118. #------------------------------------------------------------------------------
  119. #  显示战斗画面同伴状态的窗口。
  120. #==============================================================================

  121. class Window_BattleStatus < Window_Base
  122.   #--------------------------------------------------------------------------
  123.   # ● 初始化对像
  124.   #--------------------------------------------------------------------------
  125.   alias old_initialize initialize
  126.   def initialize
  127.     old_initialize
  128.     self.opacity = ISA::SAS_STATUS_OPACITY
  129.   end
  130. end

  131. #==============================================================================
  132. # ■ Spriteset_Battle
  133. #------------------------------------------------------------------------------
  134. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  135. # 的内部使用。
  136. #==============================================================================

  137. class Spriteset_Battle
  138.   #--------------------------------------------------------------------------
  139.   # ● 初始化变量
  140.   #--------------------------------------------------------------------------
  141.   alias old_initialize initialize
  142.   def initialize
  143.     old_initialize
  144.     @viewport1.rect.height = 480 if ISA::SAS_BACK
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 刷新画面
  148.   #--------------------------------------------------------------------------
  149.   alias old_update update
  150.   def update
  151.     # 战斗背景的文件名与现在情况有差异的情况下
  152.     if @battleback_name != $game_temp.battleback_name
  153.       @battleback_name = $game_temp.battleback_name
  154.       if @battleback_sprite.bitmap != nil
  155.         @battleback_sprite.bitmap.dispose
  156.       end
  157.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  158.       # 缩放背景
  159.       if @battleback_sprite.bitmap.height >= 480
  160.         ISA::SAS_BACK != false ? @battleback_sprite.src_rect.set(0, 0, 640, 480) : @battleback_sprite.src_rect.set(0, 0, 640, 320)
  161.       else
  162.         @battleback_sprite.src_rect.set(192, 128, 256, 192) if ISA::SAS_BACK_ZOOM
  163.         @battleback_sprite.zoom_x = @battleback_sprite.zoom_y = 2.5 if ISA::SAS_BACK_ZOOM
  164.       end
  165.     end
  166.     # 缩放敌人
  167.     for sprite in @enemy_sprites
  168.       sprite.zoom_x = sprite.zoom_y = 120 if ISA::SAS_ENEMY_ZOOM
  169.       sprite.zoom_x = sprite.zoom_y /= 420 - sprite.y if ISA::SAS_ENEMY_ZOOM
  170.     end
  171.     old_update
  172.   end
  173. end

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

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

GMT+8, 2024-11-29 04:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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