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

Project1

 找回密码
 注册会员
搜索
查看: 1702|回复: 2

[推荐问答] 怎么样设置碰到不可通行块就发出音效

[复制链接]

Lv1.梦旅人

梦石
0
星屑
47
在线时间
253 小时
注册时间
2012-8-2
帖子
248
发表于 2012-9-23 15:22:49 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hys111111 于 2012-9-24 17:50 编辑

怎样用脚本实现它?
因为是推荐问答,为了营造好的问答环境,不要纯表情,我已帮忙修改。看到问题的技术含量就不扣分了。
                                                                                             ——hys111111

点评

3帧?3帧一丢丢就过去了 = =  发表于 2012-10-7 12:07

评分

参与人数 1星屑 +100 收起 理由
hys111111 + 100 技术问题

查看全部评分

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

发表于 2012-9-23 20:00:30 | 显示全部楼层
本帖最后由 ML4455739 于 2012-9-23 20:03 编辑

RUBY 代码复制
  1. # 关闭判定的开关ID,默认5号开关为ON时关闭判定
  2.   JUDGE_SWITCHES = 5
  3.  
  4.   # 按键判定类型 true为press,false为trigger,可以尝试一下
  5.   INPUT_TYPE = true # false
  6.  
  7.   # 音效文件名,无需路径,无需后缀名
  8.   SE_NAME = "041-knock02"
  9.  
  10.   # 音效音量,最大100
  11.   SE_VOLUME = 80
  12.  
  13.   # 音效延迟时间(默认40帧 = 1秒)
  14.   SE_DELAY = 12
  15.  
  16. class Scene_Map
  17.  
  18.   def rwa_extra_voice_run_in
  19.  
  20.     td = $game_player
  21.     return true if td.moving? or $game_switches[JUDGE_SWITCHES]
  22.  
  23.     case td.direction
  24.     when 8
  25.      if $game_map.check_event(td.x, td.y - 1).class != Fixnum
  26.       if INPUT_TYPE
  27.         return td.passable?(td.x, td.y - 1, td.direction) if Input.press?(Input::UP)
  28.       else
  29.         return td.passable?(td.x, td.y - 1, td.direction) if Input.trigger?(Input::UP)
  30.       end
  31.      end
  32.     when 6
  33.      if $game_map.check_event(td.x + 1, td.y).class != Fixnum
  34.       if INPUT_TYPE
  35.         return td.passable?(td.x + 1, td.y, td.direction) if Input.press?(Input::RIGHT)
  36.       else
  37.         return td.passable?(td.x + 1, td.y, td.direction) if Input.trigger?(Input::RIGHT)
  38.       end
  39.      end
  40.     when 4
  41.      if $game_map.check_event(td.x - 1, td.y).class != Fixnum
  42.       if INPUT_TYPE
  43.         return td.passable?(td.x - 1, td.y, td.direction) if Input.press?(Input::LEFT)
  44.       else
  45.         return td.passable?(td.x - 1, td.y, td.direction) if Input.trigger?(Input::LEFT)
  46.       end
  47.      end
  48.     when 2
  49.      if $game_map.check_event(td.x, td.y + 1).class != Fixnum
  50.       if INPUT_TYPE
  51.         return td.passable?(td.x, td.y + 1, td.direction) if Input.press?(Input::DOWN)
  52.       else
  53.         return td.passable?(td.x, td.y + 1, td.direction) if Input.trigger?(Input::DOWN)
  54.       end # if INPUT_TYPE
  55.      end # if $game_map.check_event
  56.     end # case
  57.       return true
  58.   end # def
  59.  
  60.   alias rwa_extra_voice_run_in_update update
  61.   def update
  62.     rwa_extra_voice_run_in_update
  63.     return if $game_switches[JUDGE_SWITCHES]
  64.     if !$game_player.moving?
  65.       @@tdtime    ||= []
  66.       @@tdtime[0] ||= 0
  67.       @@tdtime[1] ||= false
  68.       @@tdtime[0] >= SE_DELAY ? @@tdtime[1] = true : @@tdtime[0] += 1
  69.       @@tdtime[0] = 0 if @@tdtime[1]
  70.     end
  71.  
  72.     if rwa_extra_voice_run_in == false and @@tdtime[1]
  73.       Audio.se_play("Audio/SE/#{SE_NAME}", SE_VOLUME, 100)
  74.       @@tdtime[1] = nil
  75.     end # if
  76.   end # def
  77.  
  78. end # class

点评

在问一下。。 怎么设置撞到后等待3帧  发表于 2012-9-23 21:58

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
hys111111 + 200 + 2 认可答案

查看全部评分

往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
253 小时
注册时间
2012-8-2
帖子
248
 楼主| 发表于 2012-9-23 20:53:54 | 显示全部楼层
ML4455739 发表于 2012-9-23 20:00
# 关闭判定的开关ID,默认5号开关为ON时关闭判定
  JUDGE_SWITCHES = 5

真感谢。。   
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 14:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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