Project1

标题: 关于靠近水播放水流声 [打印本页]

作者: hys111111    时间: 2012-3-18 14:48
标题: 关于靠近水播放水流声
本帖最后由 hys111111 于 2012-3-18 14:48 编辑

当角色靠近水时,就会播放水流声(010-River01),越近就越大声,越远就越小声,直到没有。
该怎么改或使用什么脚本才得以实现?
(已知水的地形标志为4号)dsu_plus_rewardpost_czw
作者: 残影冰峰    时间: 2012-3-18 16:00
简单点用公共事件就行了
作者: SailCat    时间: 2012-3-18 17:04
并行处理的事件(公共事件也可)
条件分歧:not $game_player.moving?
 脚本:t=11
             x=$game_player.x; y=$game_player.y
        for i in 1..10 # 最多扫描十圈
          for offx in -i..i
                   for offy in (-i+offx.abs)..(i-offx.abs)
                      if $game_map.terrain_tag(x+offx, y+offy) == 4
                         t = i if t > i
                      end
                   end
                end
             end
             $game_variables[1] = t
    条件分歧 变量[0001:人到水的距离] == 1
          播放BGS: "010-River01", 100, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 2
          播放BGS: "010-River01", 90, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 3
          播放BGS: "010-River01", 80, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 4
          播放BGS: "010-River01", 70, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 5
          播放BGS: "010-River01", 60, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 6
          播放BGS: "010-River01", 50, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 7
          播放BGS: "010-River01", 40, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 8
          播放BGS: "010-River01", 30, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 9
          播放BGS: "010-River01", 20, 100
    分歧结束
    条件分歧 变量[0001:人到水的距离] == 10
          播放BGS: "010-River01", 10, 100
     除此以外的情况下
      播放BGS: "无", 0, 100
    分歧结束
分歧结束
作者: 隐藏主角    时间: 2012-3-18 20:12
LS的收下,学习下。
作者: end55rpg    时间: 2012-3-18 22:21
其实1年前我要做的。,。,
最好加上多普勒效应更好
作者: end55rpg    时间: 2012-3-18 22:22
本帖最后由 end55rpg 于 2012-3-18 22:24 编辑
SailCat 发表于 2012-3-18 17:04
并行处理的事件(公共事件也可)
条件分歧:not $game_player.moving?
 脚本:t=11


本帖最后由 hys111111 于 2012-3-18 14:48 编辑

当角色靠近水时,就会播放水流声(010-River01),越近就越大声,越远就越小声,直到没有。
该怎么改或使用什么脚本才得以实现?
(已知水的地形标志为4号)

你不觉得代码可以简洁点吗
作者: yagami    时间: 2013-7-14 22:12
BGS进大远小.rar (188.16 KB, 下载次数: 148)
顺便写了下- -
作者: 国产刘备    时间: 2013-7-15 10:15
这个太简单了水一般都是占陆地的3/2 你只要设置水的地形标志为3  做一个并行处理的公共事件
然后条件分歧 如果玩家所在的地形标志==3 播放水的声音 除此之外的情况 停止播放水流声 这样就可以了。
代码什么的太麻烦 能用事件解决尽量用事件解决。
作者: 国产刘备    时间: 2013-7-15 20:42



这样不知道你能不能看懂额,每个地形都标有地形标志,然后并行处理获取玩家所在的地形标志给变量
然后再逐个做分歧 这样就达到近大远小的声音了。




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