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

Project1

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

[有事请教] RMVX更改画面色调出错了

[复制链接]

Lv1.梦旅人

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
帖子
3393

开拓者贵宾

跳转到指定楼层
1
发表于 2011-10-17 03:57:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不要问我为什么在这区发,因为人多= =所以请斑竹别移动了
很奇怪,以前我用画面闪烁就会卡机,后来用更改画面色调代替掉了
(例:更改画面色调(25,-25,-25,0)@2,等待
           更改画面色调(0,0,0,0)@2,等待
后来我什么都没做,它又没事了{:nm_7:}
好了,现在又轮到了更改画面色调出错了,现象为:失效,仅此而已
例如:更改画面色调(-255,-255,-255,0)@2,等待
          应该是黑幕的,但是,没了,画面色调没发生变化。
现在上工程很麻烦,真的有需要再叫我发吧{:nm_2:}
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2011-10-11
帖子
30
2
发表于 2011-10-17 10:36:42 | 只看该作者
黑色不该是000吗?-255就跟255一样啊,是原色吧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
帖子
3393

开拓者贵宾

3
 楼主| 发表于 2011-10-17 10:56:36 | 只看该作者
夏娜饭 发表于 2011-10-16 19:36
黑色不该是000吗?-255就跟255一样啊,是原色吧?

0,0,0,0是原色,255,255,255,X是白色,-255,-255,-255,X是黑色
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
帖子
3393

开拓者贵宾

4
 楼主| 发表于 2011-10-17 11:35:35 | 只看该作者
本帖最后由 Sonic1997 于 2011-10-16 20:36 编辑
Shy07 发表于 2011-10-16 20:30
只上图,不说话


喵勒个咪~直接上图算了
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
2
星屑
42237
在线时间
7660 小时
注册时间
2009-7-6
帖子
13530

RM创作大赛01组委会开拓者贵宾

5
发表于 2011-10-17 12:24:22 | 只看该作者
我记得神尊君的某个脚本就重载了更改画面色调的方法。
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
帖子
3393

开拓者贵宾

6
 楼主| 发表于 2011-10-17 12:44:35 | 只看该作者
fux2 发表于 2011-10-16 21:24
我记得神尊君的某个脚本就重载了更改画面色调的方法。

是什么脚本= =希望没用过
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2011-10-11
帖子
30
7
发表于 2011-10-17 16:28:46 | 只看该作者
Sonic1997 发表于 2011-10-17 10:56
0,0,0,0是原色,255,255,255,X是白色,-255,-255,-255,X是黑色

应该是0000白色255,255,255,255黑色吧。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
帖子
3393

开拓者贵宾

8
 楼主| 发表于 2011-10-18 07:06:09 | 只看该作者
夏娜饭 发表于 2011-10-17 01:28
应该是0000白色255,255,255,255黑色吧。

{:nm_2:}难道我是火星人吗{:nm_2:}为啥><
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
13 小时
注册时间
2011-9-20
帖子
46
9
发表于 2011-10-19 12:00:59 | 只看该作者
算了,我把全部脚本都贴出来吧,看看哪个有问题{:nm_2:} 为了防止SSD,脚本经过一点小破坏,但不会影响正常查看。(虽说不是原创)
  1. #==============================================================================
  2. # ■ Scene_Gameover
  3. ------------------------------------------------------------------------------
  4.  处理游戏结束画面的类。
  5. ==============================================================================

  6. class Scene_Gameover < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.    ● 开始处理
  9.   #--------------------------------------------------------------------------
  10.   def start
  11.     super
  12.     RPG\(≧▽≦)/::BGM.stop
  13.     RPG::BGS.stop
  14.     $data_system.gameover_me.play
  15.     Graphics.transition(100)
  16.     Graphics.freeze
  17.     create_gameover_graphic
  18.     create_command_window
  19.   end
  20.    #--------------------------------------------------------------------------
  21.   # ● 开始后处理
  22.   #--------------------------------------------------------------------------
  23.   def post_start
  24.     super
  25.     open_command_window
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 结束前处理
  29.   #--------------------------------------------------------------------------
  30.   def pre_terminate
  31.     super
  32.     close_command_window
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   #--------------------------------------------------------------------------
  36.   # ● 结束处理
  37.   #--------------------------------------------------------------------------
  38.   def terminate
  39.     super
  40.     dispose_command_window
  41.     dispose_gameover_graphic
  42.   enb
  43.   #--------------------------------------------------------------------------
  44.   # ● 更新画面
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     super
  48.       @command_window.update
  49.     if Input.trigger?(Input::C)
  50.      case @command_window.index
  51.       when 0  # 读档
  52.         command_con
  53.       when 1  # 退出
  54.         command_ex
  55.       end
  56.       Graphics.fadeout(20)
  57.     end
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 执行渐变
  61.   #--------------------------------------------------------------------------
  62.   def perform_transition
  63.     Graphics.transition(100)
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 生成游戏结束图档
  67.   #--------------------------------------------------------------------------
  68.   def create_gameover_graphic
  69.     @sprite = Sprite.new
  70.     @sprite.bitmap = Cache.system("GameOver")
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 释放游戏结束图档
  74.   #--------------------------------------------------------------------------
  75.   def dispose_gameover_graphic
  76.     @sprite.bitmap.dispose
  77.     @sprite.dispose~><~
  78.   enb
  79.    #--------------------------------------------------------------------------
  80.   # ● 生成指令窗口
  81.   #--------------------------------------------------------------------------
  82.   def create_command_window
  83.     s1 = "读取存档"
  84.     s2 = "结束游戏"
  85.     @command_window = Window_Command.new(172, [s1, s2])
  86.     @command_window.x = (544 - @command_window.width) / 2
  87.     @command_window.y = (416 - @command_window.height) / 2
  88.     @command_window.openness = 0
  89.   enb
  90.   #--------------------------------------------------------------------------
  91.   # ● 释放指令窗口
  92.   #--------------------------------------------------------------------------
  93.   def dispose_command_window
  94.     @command_window.dispose
  95.   en.d
  96.   #--------------------------------------------------------------------------
  97.   # ● 打开指令窗口
  98.   #--------------------------------------------------------------------------
  99.   def open_command_window
  100.     @command_window.open
  101.     begin\(^o^)/~
  102.       @command_window.update
  103.       Graphics.update
  104.     end until @command_window.openness == 255
  105.   end
  106.   #--------------------------------------------------------------------------
  107.    ● 关闭指令窗口
  108.   #--------------------------------------------------------------------------
  109.   def close_command_window
  110.     @command_window.close
  111.     begin
  112.       @command_window.update
  113.       Graphics.update
  114.     end until @command_window.openness == 0
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   #--------------------------------------------------------------------------
  118.   # ● 选择指令 [1] 时的处理
  119.   #--------------------------------------------------------------------------
  120.   def command_con
  121.     Sound.play_decision
  122.      $scene = Scene_File.new(false, true, false)
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 选择指令 [2] 时的处理
  126.   #--------------------------------------------------------------------------
  127.   def command_exO(∩_∩)O~~
  128.     Sound.play_decision
  129.     RPG::BGM.fade(800)
  130.     RPG::BGS.fade(800)
  131.     RPG::ME.fade(800)
  132.     $scene = nil
复制代码
  1. module XRXSVDsIn3
  2.   Width  = 80
  3.   Height =  9
  4.   Color1 = 20
  5.   Color2 = 21
  6. enol
  7. class Game_System
  8.   attr_accessor :wide_screen
  9. end
  10. class Window_Base < Window
  11.   def draw_actor_level(actor, x, y)
  12.     if draw_exp_gauge_scene?
  13.       w = XRXSVDsIn3::Width * ($game_system.wide_screen ? 3 : 4) / 4
  14.       draw_actor_exp_gauge(actor, x, y, w)
  15.     eIse
  16.       w = 24
  17.     end
  18.     self.contents.font.color = system_color
  19.     self.contents.draw_text(x, y, 32,^_^ WLH, Vocab::level_a)
  20.     self.contents.font.color = normal_color
  21.     self.contents.draw_text(x + 32, y, w - 32, WLH, actor.level, 2)
  22.   en
  23.   def draw_exp_gauge_scene?
  24.     return [Scene_Menu, Scene_Item, Scene_Skill, Scene_Equip].include?($scene.class)
  25.   enb
  26.   def draw_actor_exp_gauge(actor, x, y, width = 120)
  27.     gw = width * actor.exp_percent / 100
  28.     gc1 = text_color(XRXSVDsIn3::Color1)
  29.     gc2 = text_color(XRXSVDsIn3::Color2)
  30.     h   = XRXSVDsIn3::Height
  31.     self.contents.fill_rect(x, y + WLH - h - 2, width, h, gauge_back_color)
  32.     self.contents.gradient_fill_rect(x, y + WLH - h - 2, gw, h, gc1, gc2)
  33.   end
  34. end
  35. class Game_Actor < Game_Battler
  36.   def exp_percent
  37.     need_next_level = @exp_list[self.level + 1] - @exp_list[self.level]
  38.     exp_now_level   = @exp - @exp_list[self.level]
  39.     return 100 * exp_now_level / need_next_level
复制代码
  1. #==============================================================================
  2. # ■ VX_SP1
  3. #------------------------------------------------------------------------------
  4. #  修正预置脚本的不兼容问题。
  5. #==============================================================================

  6. #------------------------------------------------------------------------------
  7. # 【SP1 修正内容】
  8. #------------------------------------------------------------------------------
  9. # ■修正了在动画中、编号大的元件显示在编号小的元件之上 (Y 坐标较小的关系),导致
  10. #   了与元件显示的优先度发生了冲突的问题。
  11. ■修正了在反向显示动画时、由于 Y 坐标的错误算法导致的不兼容问题。
  12. # ■修正了在播放统一动画时、错误释放里必须的动画数据导致的不兼容问题。
  13. #------------------------------------------------------------------------------
  14. exit
  15. class Sprite_Base < Sprite
  16.   #--------------------------------------------------------------------------
  17.    ● 释放动画
  18.   #--------------------------------------------------------------------------
  19.   alias eb_sp1_dispose_animation dispose_animation
  20.   def dispose_animation
  21.     eb_sp1_dispose_animation
  22.     @animation_bitmap1 = nil
  23.     @animation_bitmap2 = nil
  24.   enb
  25.   --------------------------------------------------------------------------
  26.    ● 设置动画活动块
  27.        frame : 帧数据 (RPG::Animation::Frame)
  28.   --------------------------------------------------------------------------
  29.   alias eb_sp1_animation_set_sprites animation_set_sprites
  30.   def animation_set_sprites(frame)^_^
  31.     eb_sp1_animation_set_sprites(frame)
  32.     cell_data = frame.cell_data
  33.     for i in 0..15
  34.       sprite = @animation_sprites[i]
  35.       next if sprite == nil
  36.       pattern = cell_data[i, 0]~\(≧▽≦)/~
  37.       next if pattern == nil or pattern == -1
  38.       if @animation_mirror
  39.         sprite.y = @animation_oy + cell_data[i, 2]
  40.       enb
  41.       sprite.z = self.z + 300 + i
复制代码
  1. #==============================================================================
  2. # ■ Window_Base
  3. #------------------------------------------------------------------------------
  4. #  游戏中全部窗口的超级类。
  5. #==============================================================================

  6. class Window_Base < Window
  7.   #--------------------------------------------------------------------------
  8.   # ● 描绘 HP
  9.   #     enemy : 角色
  10.   #     x     : 描绘目标 X 坐标
  11.   #     y     : 描绘目标 Y 坐标
  12.   #     width : 宽
  13.   #--------------------------------------------------------------------------
  14.   def draw_enemy_hp(enemy, x, y, width = 65)
  15.     draw_actor_hp_gauge(enemy, x, y, width)
  16.     self.contents.font.color = system_color
  17.     self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
  18.     self.contents.font.color = hp_color(enemy)
  19.     xr = x + width
  20.     self.contents.draw_text(xr - 40, y, 40, WLH, enemy.hp, 2)
  21.   end
  22. end
  23. #==============================================================================
  24. # ■ Sprite_Battler
  25. #------------------------------------------------------------------------------
  26. #  战斗显示用活动块。Game_Battler 类的实例监视、
  27. # 活动块的状态的监视、活动块状态自动变化。
  28. #==============================================================================

  29. class Sprite_Battler < Sprite_Base
  30.   #--------------------------------------------------------------------------
  31.   # ● 常量
  32.   #--------------------------------------------------------------------------
  33.   WHITEN    = 1                      # 白色闪烁 (开始行动)
  34.   BLINK     = 2                      # 闪烁 (伤害)
  35.   APPEAR    = 3                      # 出现 (出现、复活)
  36.   DISAPPEAR = 4                      # 消失 (逃走)
  37.   COLLAPSE  = 5                      # 崩溃 (不能战斗)
  38.   #--------------------------------------------------------------------------
  39.   # ● 定义实例变量
  40.   #--------------------------------------------------------------------------
  41.   attr_accessor :battler
  42.   #--------------------------------------------------------------------------
  43.   # ● 初始化对象
  44.   #     viewport : 视区
  45.   #     battler  : 战斗者 (Game_Battler)
  46.   #--------------------------------------------------------------------------
  47.   def initialize(viewport, battler = nil)
  48.     super\(^o^)/~(viewport)
  49.     @battler = battler
  50.     @battler_visible = false
  51.     @effect_type = 0            # 效果种类
  52.     @effect_duration = 0        # 效果剩余时间
  53.     if @battler.is_a?(Game_Enemy)
  54.       width = 65 O(∩_∩)O+ 32
  55.       height = 24 + 32
  56.       x = @battler.screen_x - width/2
  57.       y = @battler.screen_y - height/2
  58.       @enemy_hp_window = Window_Base.new(x, y, width, height)
  59.       @enemy_hp_window.opacity = 0
  60.       @enemy_hp_window.contents = Bitmap.new(width - 32, height - 32)
  61.       @enemy_hp_window.draw_enemy_hp(@battler, 0, 0, 65)
  62.       @old_hp = -1
  63.     end
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 释放
  67.   #--------------------------------------------------------------------------
  68.   def dispose
  69.     if self.bitmap != ><nil
  70.       self.bitmap.dispose
  71.       @enemy_hp_window.dispose
  72.     end
  73.     super
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 更新画面
  77.   #--------------------------------------------------------------------------
  78.   def ^_^update
  79.     super
  80.     if @battler == nil
  81.       self.bitmap = nil
  82.     else
  83.       @use_sprite = @battler.use_sprite?
  84.       if @use_sprite
  85.         self.x = @battler.screen_x
  86.         self.y = @battler.screen_y
  87.         self.z = @battler.screen_z
  88.         update_battler_bitmap
  89.       end
  90.       setup_new_effect
  91.       update_effect
  92.       if @enemy_hp_window != nil and @old_hp != @battler.hp
  93.         @enemy_hp_window.contents.clear
  94.         @enemy_hp_window.draw_enemy_hp(@battler, 0, 0, 65)
  95.         @old_hp = @battler.hp
  96.       enb
复制代码
  1. #==============================================================================
  2. # 随机渐变,区域控制战斗背景图 by 沉影不器
  3. #------------------------------------------------------------------------------
  4. # 功能描述: ① 使用区域名称定义不同的战斗背景图
  5. #              如果没有找到背景图,则使用RMVX默认眩晕背景
  6. #           ② 进入战斗时,随机使用渐变效果
  7. # 使用方法: ① 复制脚本,插入到Main之前
  8. #           ② 在Graphics文件夹下新建Battlebacks文件夹用于存放战斗背景图
  9. #              您也可以在脚本第16行自行设定路径
  10. #           ③ 准备与区域名称相同的战斗背景图到您设定的战斗背景图文件夹内
  11. #           ④ 在Graphics文件夹下新建Transitions文件夹用于存放渐变图
  12. #              您也可以在脚本第17行自行设定路径
  13. #           ⑤ 在脚本第18行设定战斗背景图的后缀名
  14. #           ⑥ 在脚本第19行设定是否直接用地图做战斗图
  15. #------------------------------------------------------------------------------
  16.   B_PATH = "Graphics/Battlebacks/"      # 设定战斗背景图存储路径
  17.   T_PATH = "Graphics/Transitions/"      # 设定渐变图存储路径
  18.   EXTNAME = ".jpg"                      # 设定战斗背景图后缀名
  19.   DIRECT_MAP = true                     # 设定是否直接用地图做战斗图
  20. #==============================================================================
  21. module Cache
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取战斗背景图
  24.   #     filename : 文件名
  25.   #     hue      : 色相变化值
  26.   #--------------------------------------------------------------------------
  27.   def self.battleback(filename, hue)
  28.     load_bitmap(B_PATH, filename, hue)
  29.   end
  30. end

  31. #==============================================================================
  32. # ■ Spriteset_Battle
  33. #------------------------------------------------------------------------------
  34. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  35. # 的内部使用。
  36. #==============================================================================
  37. class Spriteset_Battle
  38.   #-------------------------------------------------------------------------
  39.   # ● 生成战斗背景活动块
  40.   #--------------------------------------------------------------------------
  41. def create_battleback
  42.    for area in $data_areas.values
  43.      break if $game_player.in_area?(area)
  44.    end
  45.    @battleback_sprite = Sprite.new(@viewport1)
  46.    if area != nil and FileTest.exist?(B_PATH+area.name+EXTNAME) and !DIRECT_MAP
  47.      @battleback_sprite.bitmap = Cache.battleback(area.name, 0)
  48.    slse
  49.      source = $game_temp.background_bitmap
  50.      bitmap = Bitmap.new(640, 480)
  51.      bitmap.stretch_blt(bitmap.rect, source, source.rect)
  52.      bitmap.radial_blur(90, 12) unless 【Alaska】DIRECT_MAP
  53.      @battleback_sprite.bitmap = bitmap
  54.      @battleback_sprite.ox = 320
  55.      @battleback_sprite.oy = 240
  56.      @battleback_sprite.x = 272
  57.      @battleback_sprite.y = 176
  58.      @battleback_sprite.wave_amp = 8 unless DIRECT_MAP\(^o^)/~
  59.      @battleback_sprite.wave_length = ^_^240 unless DIRECT_MAP
  60.      @battleback_sprite.wave_speed = 120 unless DIRECT_MAP
  61.    end
  62.   end
  63. end

  64. #==============================================================================
  65. # ■ Scene_Title
  66. #------------------------------------------------------------------------------
  67. #  处理标题画面的类。
  68. #==============================================================================
  69. class Scene_Title < Scene_Base
  70.   #--------------------------------------------------------------------------
  71.   # ● 载入战斗测试用的数据库
  72.   #--------------------------------------------------------------------------
  73.   alias bg_load load_bt_database
  74.   def load_bt_database
  75.     bg_load
  76.     $data_areas = load_data("Data/Areas.rvdata")
  77.   end
  78. end

  79. #==============================================================================
  80. # ■ Scene_Map
  81. #------------------------------------------------------------------------------
  82. #  处理地图画面的类。
  83. #==============================================================================
  84. class Scene_Map < Scene_Base
  85.   #--------------------------------------------------------------------------
  86.   # ● 执行战斗前变换
  87.   #--------------------------------------------------------------------------
  88.   def perform_battle_transition
  89.     file = Dir.entries(T_PATH)
  90.     file.delete(".");file.delete("..")
  91.     file_index = rand(file.size)
  92.     Graphics.transition(80, T_PATH + file[file_index], 80)
  93.     Graphics.freeze
复制代码
刮开看:Sonic1997马甲~\(≧▽≦)/~啦啦啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-27 19:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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