Project1

标题: 【活动问题】怎样实现昼夜变化? [打印本页]

作者: 迷糊的安安    时间: 2012-10-8 14:08
标题: 【活动问题】怎样实现昼夜变化?
本问题为【Ace推荐问答计划】活动问题。
详情请点击:http://rpg.blue/forum.php?mod=viewthread&tid=251118

实现要求:用尽量简单的方法实现——定义一个变量【昼夜】
昼夜变量等于0时,地图是白天。
昼夜变量等于1时,地图是黄昏。
昼夜变量等于2时,地图是黑夜。
昼夜变量等于3时,地图是黎明。

进出房屋时,屋内不受昼夜影响。所有事件的编写应尽可能简单。不可出现无限循环的滥用并行事件和大段判定的进出门事件。不可出现进房屋以后黑天突然亮起来或者出房屋以后亮天突然黑掉这种不自然的过渡。dsu_plus_rewardpost_czw
作者: yangff    时间: 2012-10-8 16:37
/A\调整亮度……PS:百度光源脚本可提高效果……
PPS:屋内不受昼夜影响才奇怪吧。。
作者: 月华风    时间: 2012-10-8 18:29
=-=  那个昼夜变化是过一段时间后自己变化吗??
作者: feizhaodan    时间: 2012-10-8 18:34

一张渣图。因该没问题的(实测
要说需要动手的就是那个数组和$game_varialbes[3]里的3要改成那个上一次地图ID变量的变量ID
若直接如图设置的话只需要改arr里的内容为室内地图的地图ID
还是不要在意日文。我没打补(略
作者: 布里蓝    时间: 2012-10-8 19:07
本帖最后由 布里蓝 于 2012-10-8 19:46 编辑

刚刚抽空做了个范例,改用变量,更加简洁,试了也没发现出错

昼夜.rar (303.1 KB, 下载次数: 201)

百度网盘的链接:http://pan.baidu.com/share/link?shareid=71016&uk=990708581


——————————————分割线——————————




这是我目前用的昼夜事件,我为了方便(大概?)+不容易出错没整合在一起


在每个地图都放一个执行“公共事件昼夜交替”的事件,用并行处理



(为方便我整合了下),应该看得懂的吧?把开关改成变量N号赋值就可以了
下面的图是室外的,也就是色调变化正常的。
室内用昼夜交替就是把“夜晚”改成“室内夜晚”,色调为“17,17,0,0”(或者自调,我是认为灯光会比日光亮一点,特别是晚上)
洞穴用昼夜交替是把一切改变色调的指令删掉,这样色调不变,但“时间”还在转



步数清零需要在脚本Game_Party加入:
  #--------------------------------------------------------------------------
  # ● 增加步数
  #--------------------------------------------------------------------------
  def clean_steps
    @steps = 0
  end
end←注意这个end是最后一个end哦






然后至于进屋改变色调的话,如果民家只有夜晚开灯的话,以下
这样设置的话会有还没进屋有微微改变色调的样子,不过我个人认为那是一种视线已经投入屋内的赶脚。在夜晚状态下出门时也一样,改下色调就好。



如果是从洞穴出去的话需要这样设置。
嫌麻烦的话可以建立一个专门复制事件指令的地图,挺方便的,(至少我这个有500+地图的人是这么觉得的)




作者: 迷糊的安安    时间: 2012-10-8 20:58
布里蓝 发表于 2012-10-8 19:07
刚刚抽空做了个范例,改用变量,更加简洁,试了也没发现出错

我这里有一点思路,看看能不能在你的基础上优化一下。

1、步数判定的情况下,把室外的色调变化速度尽可能趋缓,然后在场景切换的时候才产生比较大的变化。
2、试试淡入淡出?淡出画面→场景移动(无)→画面色调变换→淡入画面。这样能不能解决你那个BUG。
3、试试把计步数的和不计步数的分成两个范例工程?不计步数的采用NPC对话更换变量。对新手可能比较简单。
4、地图上摆自动执行事件是否可行?在画面淡出期间执行判断并迅速改换色调后淡入并暂时消除事件?
作者: 布里蓝    时间: 2012-10-8 21:16
迷糊的安安 发表于 2012-10-8 20:58
我这里有一点思路,看看能不能在你的基础上优化一下。

1、步数判定的情况下,把室外的色调变化速度尽可 ...

第一步可以试试
第二步我也试过,主要是感觉会有点读取慢了
3(我可耻地躲开,其实不计数的我不会……)
4.并行处理没事的吧?
作者: acn00269    时间: 2012-10-9 12:23
本帖最后由 acn00269 于 2012-10-9 21:17 编辑

这货是和电脑时间同步
只需一个变量 公共事件和脚本就能解决!

脚本:
RUBY 代码复制
  1. $game_variables[15] = Time.now.hour #(时)

其中"["和"]"之间是变量ID 这个我就不用多解释了吧~
——————————————————————————————————————————————————————————————————————
更新开关控制截图 进/出房屋时把开关关闭画面色调调回0 /打开就行了

示例:
白天

夜晚

上传附件太麻烦 所以就不上传咯= 3=
(鄙人学生党 晚上九点左右才能上线 问问题尽量晚上问吧。。
(其实我只是来水的哇哈哈

作者: feizhaodan    时间: 2012-10-9 17:23
  1. $game_map.screen.clear_tone
复制代码
瞬间清除当前画面色调
那一个脚本其实只是判定地图ID,看当前地图是不是室内地图。是的时候清除色调,不是,而且上一个地图是室内的时候还原色调。
好吧我还是滚掉吧
作者: zzfzy    时间: 2012-10-12 05:37
用游戏时间比较较好吧。
白天

夜晚

很久前作的范例
http://dl.vmall.com/c06u1za997

作者: jianghailong123    时间: 2012-10-13 03:31
大地图事件:  黎明公共色调,等待**秒 / 白天公共色调,等待**秒(白天开,黑夜关) / 公共事件黄昏色调,等待**秒/ 黑夜,等待**秒(黑夜开,白天关)  
作者: c248611    时间: 2012-10-13 14:34
能不能这样啊?









范例:http://pan.baidu.com/share/link?shareid=85325&uk=656779892




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1