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

Project1

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

[已经解决] 如何做出在战斗中改变画面色调一回合

[复制链接]

Lv1.梦旅人

刷下限の口苗君

梦石
0
星屑
51
在线时间
748 小时
注册时间
2010-11-5
帖子
1899
跳转到指定楼层
1
发表于 2014-7-16 18:52:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

2
发表于 2014-7-16 18:53:47 | 只看该作者
为什么不能在公共事件里设置更改色调

点评

是持续一回合,之后自动回到正常的色调  发表于 2014-7-16 19:10

  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
3
发表于 2014-7-16 21:45:02 | 只看该作者
是针对某一场战斗还是任意战斗呢?
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
4
发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

刷下限の口苗君

梦石
0
星屑
51
在线时间
748 小时
注册时间
2010-11-5
帖子
1899
5
 楼主| 发表于 2014-7-17 17:44:35 | 只看该作者
恐惧剑刃 发表于 2014-7-17 07:36
更改战斗背景的色调可否?
先插入此脚本再在Game_Temp多加一个变量attr_accessor :screen
并且下方初始化 @ ...

还有一两个小问题,如果能够解答就最好了。
1:

出现了这个窗口。“插入脚本”指的是在main前插入这个脚本吧?
2:(可无视)
请问如果将画面改成黑白应该输入什么数字或怎么改?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
6
发表于 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(色调, 时间)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

刷下限の口苗君

梦石
0
星屑
51
在线时间
748 小时
注册时间
2010-11-5
帖子
1899
7
 楼主| 发表于 2014-7-17 19:47:25 | 只看该作者
恐惧剑刃 发表于 2014-7-17 19:18
1. module 放哪里都可以
类型错误 nil 不能转换为 字符串 …… 理论上不应该出现这种问题
就算出现也该是 ...

我已经头晕了,看了半天脚本,感!觉!自!己!萌!萌!哒!

如果还是不知道原因就算了吧,不是很要紧。
P.S:之前错误的原因是脚本冲突,于是我删掉了所有添加的脚本……这次应该不是这个原因了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
8
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 20:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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