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

Project1

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

[有事请教] 求助,有没有那种轻摁方向键只转朝向不迈步的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
72
在线时间
5 小时
注册时间
2024-5-28
帖子
5
跳转到指定楼层
1
发表于 2024-10-19 17:05:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 狩之枭 于 2024-10-19 21:09 编辑

求助,有没有那种轻摁方向键只转朝向不迈步的脚本?就像口袋妖怪游戏里玩家轻摁方向键转身一样?/

Lv5.捕梦者

梦石
0
星屑
26513
在线时间
5385 小时
注册时间
2016-3-8
帖子
1658
2
发表于 2024-10-20 01:38:26 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # Lemony's 先转头后移动, (LSERTM), (ReStaff Febraury 2013), v.1.0
  3. #==============================================================================
  4. #  可以让玩家在按下方向键后先转头后,然后再移动.
  5. #==============================================================================
  6. # (*) 使用方法.-
  7. #==============================================================================
  8. # * 设定下面的 LSERTM_KeyBind 来设定转头键 (详情参考rgss3中的符号列表)
  9. # * 设定下面的 LSERTM_Switch 来设定开关,开启或关闭本脚本的功能.
  10. # * 设定下面的 LSERTM_WalkDelay 来设定按下方向键后等待时间,时间过去后玩家才会
  11. #   行走.
  12. #==============================================================================
  13. # (**) Terms of Use.-
  14. #==============================================================================
  15. # This script is free to use in any commercial or non commercial game or
  16. # project created with any RPG Maker with a valid license as long as explicit
  17. # credits are given to the author (Lemony).
  18. #==============================================================================
  19. class Game_Player < Game_Character
  20.   #--------------------------------------------------------------------------
  21.   # 转头键                                                        [OPT]
  22.   #--------------------------------------------------------------------------
  23.   LSERTM_KeyBind   = nil
  24.   #--------------------------------------------------------------------------
  25.   # 开关 ID                                                           [OPT]
  26.   #--------------------------------------------------------------------------
  27.   LSERTM_Switch    = 0
  28.   #--------------------------------------------------------------------------
  29.   # 按下方向键后等待时间                                                      [OPT]
  30.   #--------------------------------------------------------------------------
  31.   LSERTM_WalkDelay = 10
  32.   #--------------------------------------------------------------------------
  33.   # Alias Move by Input.                                                [MOD]
  34.   #--------------------------------------------------------------------------
  35.   alias lsertm_move_by_input move_by_input
  36.   def move_by_input
  37.     if !$game_switches[LSERTM_Switch] && (LSERTM_KeyBind.nil? ? true :
  38.       Input.press?(LSERTM_KeyBind))
  39.       return if (!movable? || $game_map.interpreter.running?)
  40.       @sle_rbm ||= [0, 0]
  41.       keym = {2 => :DOWN, 4 => :LEFT, 6 => :RIGHT, 8 => :UP}[Input.dir4]
  42.       if Input.dir4 > 0 && Input.trigger?(keym)
  43.         @sle_rbm, @direction = [Input.dir4, LSERTM_WalkDelay], Input.dir4
  44.       end
  45.       if @sle_rbm[1] > 0 && !Input.press?(:SHIFT)
  46.         @sle_rbm[1] = [@sle_rbm[1] - 1, 0].max
  47.         if @sle_rbm[1] == 0
  48.           move_straight(@sle_rbm[0]) if (@sle_rbm[0] == Input.dir4)
  49.           @sle_rbm = [0, 0]
  50.         end
  51.       else
  52.         move_straight(Input.dir4)
  53.       end
  54.     else
  55.       lsertm_move_by_input
  56.     end
  57.   end
  58. end
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
5 小时
注册时间
2024-5-28
帖子
5
3
 楼主| 发表于 2024-10-20 14:48:32 | 只看该作者
alexncf125 发表于 2024-10-20 01:38
#==============================================================================
# Lemony's 先转头后 ...

太感谢了!!我马上就去试试看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
5 小时
注册时间
2024-5-28
帖子
5
4
 楼主| 发表于 2024-10-20 15:57:32 | 只看该作者
本帖最后由 狩之枭 于 2024-10-20 16:16 编辑
alexncf125 发表于 2024-10-20 01:38
#==============================================================================
# Lemony's 先转头后 ...


那个您好,我这里发现了一个问题。当我使用这个脚本后,系统出现了杂音。杂音会在原地站立一动不动时出现,持续不断的电子杂音。当角色移动时,杂音会消失;但是一旦停下来就会回归。

我查了一下好像是和“足音”脚本冲突了,形成了杂音。这两个脚本不可以同时使用吗?脚本发在这里请大佬您看一下...!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
5 小时
注册时间
2024-5-28
帖子
5
5
 楼主| 发表于 2024-10-20 16:04:05 | 只看该作者
本帖最后由 狩之枭 于 2024-10-20 16:15 编辑
狩之枭 发表于 2024-10-20 15:57
那个您好,我这里发现了一个问题。当我使用这个脚本后,系统出现了杂音。杂音会在原地站立一动不动时出现 ...

=begin
===============================================================================
  足音 By喵呜喵5
===============================================================================

【说明】

  事件或者主角行走时播放脚步声
  
  脚步声的音效文件名为角色行走图的文件名,放在 Audio/SE 目录下
  
  由于RM自身的限制,脚步声音效建议使用 ogg 格式
  
=end
$m5script ||= {};$m5script["M5SS20140821"] = 20140821
module M5SS20140821
#==============================================================================
# 设定部分
#==============================================================================
  
  SWI = 6
  
  # 对应ID的开关打开时,不播放脚步声音效
  
  ACTOR = true
  
  # 设置为 false 时,不播放主角的脚步声
  
  FOLLOWER = true
  
  # 设置为 false 时,不播放跟随角色的脚步声
  
  EVENT = true
  
  # 设置为 false 时,不播放事件的脚步声
  
  DEFAULT  = nil
  
  # 当对应的脚步声文件不存在时播放的脚步声,需要用英文双引号括起来
  # 不需要的话,填写 nil
  
#==============================================================================
# 设定结束
#==============================================================================
end
class Game_CharacterBase
  alias m5_20140821_increase_steps increase_steps
  def increase_steps
    m5_20140821_increase_steps
    return if $game_switches[M5SS20140821::SWI]
    return if !M5SS20140821::ACTOR && self.is_a?(Game_Player)
    return if !M5SS20140821::FOLLOWER && self.is_a?(Game_Follower)
    return if !M5SS20140821::EVENT && self.is_a?(Game_Event)
    return if @character_name == ""
    se = @character_name   
    se = !Dir.glob("Audio/SE/#{se}.*").empty? ? se : M5SS20140821::DEFAULT
    return if !se || se == ""
    Audio.se_play("Audio/SE/#{se}",65,80)
  end
end
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26513
在线时间
5385 小时
注册时间
2016-3-8
帖子
1658
6
发表于 2024-10-20 19:46:42 | 只看该作者
emm那在那堆return if里加一行return if !moving? && self.is_a?(Game_Player)吧
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
5 小时
注册时间
2024-5-28
帖子
5
7
 楼主| 发表于 2024-10-20 20:02:29 | 只看该作者
alexncf125 发表于 2024-10-20 19:46
emm那在那堆return if里加一行return if !moving? && self.is_a?(Game_Player)吧

是第39行吗?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26513
在线时间
5385 小时
注册时间
2016-3-8
帖子
1658
8
发表于 2024-10-20 20:59:33 | 只看该作者
喵5足音脚本最底那段有5个return if
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21815
在线时间
9435 小时
注册时间
2012-6-19
帖子
7120

开拓者短篇九导演组冠军

9
发表于 2024-11-23 23:10:26 | 只看该作者
alexncf125 发表于 2024-10-20 01:38
#==============================================================================
# Lemony's 先转头后 ...

实际上这个杂音是这个脚本写的有问题
即使停在原地不动,这个脚本也不停的在让玩家增加移动步数


把这脚本第52行从
  1. move_straight(Input.dir4)
复制代码

改成
  1. move_straight(Input.dir4) if Input.dir4 > 0
复制代码

就正常了

点评

哦原来如此~我在很早前就把52行直接给改成lsertm_move_by_input了~不知道作者为什么55行用了反而52行不用~  发表于 2024-11-25 22:17
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 16:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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