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

Project1

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

[VIPArcher] 【脚步声】——为游戏增加真实感

[复制链接]

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

跳转到指定楼层
1
发表于 2014-9-19 02:28:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 VIPArcher 于 2018-12-1 21:58 编辑

https://raw.githubusercontent.co ... 8%B6%B3%E9%9F%B3.rb
RUBY 代码复制
  1. #==============================================================================
  2. # +++ 足音 v1.1 +++
  3. # By:VIPArcher [email: [email protected]]
  4. #  -- 本脚本来自 [url]https://rpg.blue/[/url] 使用或转载请保留以上信息。
  5. #==============================================================================
  6. # v1.1 删掉一些不必要的语句
  7. # v1.0 完成基础脚本
  8. #==============================================================================
  9. #
  10. # 设定玩家在不同地形标志移动时不同的脚步声
  11. #
  12. # 如果不想用地形标志来判断,想用区域ID的话就把脚本倒数第9行?
  13. # $game_player.terrain_tag 改成 $game_player.region_id
  14. #
  15. # 脚步声的素材名称命名是有一定规则的。例如Step0_0
  16. # "Step"+地形标志ID+"_"+随机编号(0-3)
  17. # 脚步声素材每组4枚。例如地形标志为2的脚步声
  18. # 就命名为[Step2_0.ogg;Step2_1.ogg;Step2_2.ogg;Step2_3.ogg]
  19. # 也可以设置一些区域是没有脚步声的。
  20. # 效果的开关可以通过控制设置的开关进行控制
  21. #
  22. #==============================================================================
  23. $VIPArcherScript ||= {};$VIPArcherScript[:footsound] = 20140909
  24. #-------------------------------------------------------------------------------
  25. module VIPArcher end
  26. #==============================================================================
  27. # ★ 设定部分 ★
  28. #==============================================================================
  29. module VIPArcher::FOOTSOUND
  30.   SW = 1           #关闭脚步声开关编号 打开此开关不播放脚步声
  31.   NOSOUND = [0,1]   #没有脚步声的地形标志 / 区域ID
  32.   SOUNDURL = "Audio/SE/Footsound/" #脚本声素材路径
  33.   EVENT_NOTE = "<play_footsound>"  #事件页中备注该字符串的事件移动时播放脚步声
  34.   DISTANCE = 15 #距离玩家多远不播放脚步声
  35.   VOL = 50     #音量
  36.   PITCH = 100  #音调
  37. end
  38. #==============================================================================
  39. # ☆ 设定结束 ☆
  40. #==============================================================================
  41. class Game_CharacterBase
  42.   include VIPArcher::FOOTSOUND
  43.   #--------------------------------------------------------------------------
  44.   # ● 角色移动一步时的处理
  45.   #--------------------------------------------------------------------------
  46.   alias vip_20140909_increase_steps increase_steps
  47.   def increase_steps
  48.     vip_20140909_increase_steps
  49.     foot_sound_play
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 播放脚步声  #要用区域ID就改成 tag = region_id
  53.   #--------------------------------------------------------------------------
  54.   def foot_sound_play
  55.     @foot_sound_val ||= VOL
  56.     tag = terrain_tag
  57.     return if NOSOUND.include?(tag)
  58.     return unless play_footsound?
  59.     Audio.se_play("#{SOUNDURL}Step#{tag}_#{rand(4)}",
  60.       @foot_sound_val,  PITCH) if @step_off
  61.     @step_off ^= true #这里只是为了每2步才播放一次脚本声
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 是否播放脚步声
  65.   #--------------------------------------------------------------------------
  66.   def play_footsound?
  67.     return false if $game_switches[SW]
  68.     @list.each do |command|
  69.       if command.code == 108 || command.code == 408
  70.         @foot_sound_val = VOL - VOL * foot_sound_distance
  71.         return true if command.parameters.include?(EVENT_NOTE)
  72.       end
  73.     end if is_a?(Game_Event)
  74.     return true
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 与玩家的距离控制脚步音量
  78.   #--------------------------------------------------------------------------
  79.   def foot_sound_distance
  80.     distance = ($game_player.x - @x).abs + ($game_player.y - @y).abs
  81.     [[(distance - 1) / DISTANCE.to_f, 0].max, 1.0].min
  82.   end
  83. end
梦石
0
星屑
2295
在线时间
21 小时
注册时间
2015-8-16
帖子
4
2
发表于 2015-10-17 16:20:11 | 只看该作者
QWQ....楼主请问想改成每1步就播放一次脚本声应该怎么改???!!

点评

52行后面的 if @step_off 删掉  发表于 2015-10-17 21:48
回复 支持 反对

使用道具 举报

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

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

GMT+8, 2024-11-24 15:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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