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

Project1

 找回密码
 注册会员
搜索

如何做出在战斗中改变画面色调一回合

查看数: 2495 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-7-16 18:52

正文摘要:

RT,做了一个执行公共事件的技能,需要用到这种效果。 本人脚本白啊T T

回复

恐惧剑刃 发表于 2014-7-17 20:10:20
本帖最后由 恐惧剑刃 于 2014-7-17 20:35 编辑
玛丽猫 发表于 2014-7-17 19:47
我已经头晕了,看了半天脚本,感!觉!自!己!萌!萌!哒!

如果还是不知道原因就算了吧,不是很要紧。 ...


抱歉是我误导你了,现在不需要添加任何脚本了。。删了去吧
在战斗事件中先脚本
$game_temp.xxx(具体这个变量怎么设置我就不废话了)= $game_screen.tone.clone
然后改画面色调
等一个回合后
使用$game_screen.start_tone_change($game_temp.xxx, 时间)
时间就是“渐变”所需的帧数。


这个我测试了下,有个小问题 找到Interpreter 7
默认274行(报错的地方)改为
if result.class == FalseClass
果然XP预设脚本多多少少有些BUG

点评

虽然效果差了一点点不过已经已经达到要求了,已手动认可  发表于 2014-7-17 20:30

评分

参与人数 2星屑 +150 收起 理由
玛丽猫 + 50 解答很耐心,谢谢
︶ㄣ牛排ぶ + 100 认可答案

查看全部评分

恐惧剑刃 发表于 2014-7-17 19:18:37
本帖最后由 恐惧剑刃 于 2014-7-17 19:41 编辑
玛丽猫 发表于 2014-7-17 17:44
还有一两个小问题,如果能够解答就最好了。
1:


1. module 放哪里都可以
类型错误 nil 不能转换为 字符串 …… 理论上不应该出现这种问题
就算出现也该是 nil 不能转换为 Integer

另外我发现这个方法…………
直接这样会好。。
找到Spriteset_Battle在initialize中加入
$game_temp.screen = Viewport.new(0, 0, 640, 480)
$game_temp.screen.z = 5000
$game_temp.screen.tone = Tone.new(0, 0, 0, 0)
并且下方dispose处释放
$game_temp.screen.dispose
使用的时候就是 $game_temp.screen.tone.set(红, 绿, 蓝, 灰度)

2.PS好了。。。



======什么?可以在战斗事件中直接改变画面色调。。
你发这个帖我还以为不能改的。。。
看来都是多此一举了…………………………

你可以在改变前记录一下 拷贝下$game_screen.tone的值
想要改回来的时候
使用 $game_screen.start_tone_change(色调, 时间)
恐惧剑刃 发表于 2014-7-17 07:36:52
本帖最后由 恐惧剑刃 于 2014-7-17 07:42 编辑

更改战斗背景的色调可否?
先插入此脚本

  1. module RPG
  2.   module Cache
  3.    
  4.     def self.battleback(filename, hue = 0)
  5.       self.load_bitmap("Graphics/Battlebacks/", filename, hue)
  6.     end

  7.   end
  8. end
复制代码
再在Game_Temp多加一个变量attr_accessor :screen
并且下方初始化 @screen = 0


找到Spriteset_Battle默认100行把if @battleback_name != $game_temp.battleback_name改为
  1. if @battleback_name != $game_temp.battleback_name or
  2.       @old_screen != $game_temp.screen
  3.       @old_screen = $game_temp.screen
复制代码
当前107行 @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
改为
  1. @battleback_sprite.bitmap = RPG::Cache.battleback(
  2.       @battleback_name, $game_temp.screen)
复制代码
然后在战斗事件中使用 $game_temp.screen = n 就可以改变色调
n在0到360取值



或者给任意角色或者敌人附加一个特殊状态,这个状一回合就消失
动画是画面闪烁

点评

谢谢,我待会试一下  发表于 2014-7-17 17:29
正太君 发表于 2014-7-16 21:45:02
是针对某一场战斗还是任意战斗呢?
kuerlulu 发表于 2014-7-16 18:53:47
为什么不能在公共事件里设置更改色调

点评

是持续一回合,之后自动回到正常的色调  发表于 2014-7-16 19:10
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-4-11 18:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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