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

Project1

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

[已经解决] 请问怎么把这职业语音脚本修改成角色语音

[复制链接]

Lv2.观梦者

梦石
0
星屑
582
在线时间
310 小时
注册时间
2016-2-29
帖子
210
跳转到指定楼层
1
发表于 2016-9-22 19:09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. $se名 = [*""..""]   #$se名 = [*"A".."A"]
  2. class Scene_Battle < Scene_Base
  3.         alias start_actor_command_selection_old start_actor_command_selection
  4.         def start_actor_command_selection
  5.     start_actor_command_selection_old
  6.                 Audio.se_play("Audio/SE/" + BattleManager.actor.id.to_s[rand(1)] + ".wav") #.to_s + $se名
  7.                 @actorface = Sprite.new
  8.         #        @actorface.bitmap = Bitmap.new("Graphics/Faces/face" + BattleManager.actor.id.to_s + ".png")
  9.         #        @actorface.y = Graphics.height - @actor_command_window.height - @actorface.bitmap.height
  10.         end
  11.         alias prior_command_old prior_command
  12.         def prior_command
  13.                 @actorface.dispose if @actorface != nil && @actorface.disposed? != true
  14.                 prior_command_old
  15.         end
  16.         alias next_command_old next_command
  17.         def next_command
  18.                 @actorface.dispose if @actorface != nil && @actorface.disposed? != true
  19.                 next_command_old
  20.         end
  21.       end

Lv2.观梦者

梦石
0
星屑
582
在线时间
310 小时
注册时间
2016-2-29
帖子
210
2
 楼主| 发表于 2016-9-22 20:09:32 | 只看该作者
这语音好乱,好像也不是职业语音,怎么改成对应ID的角色语音?

点评

我好渣 看了許久都沒發現是LZ搞錯  发表于 2016-9-22 21:11
妈个鸡,自己研究出来了,直接把rnd(1)改成0...角色数就行了,怪不得声音都重复了  发表于 2016-9-22 20:59
这本来就是以角色ID获取的SE文件名嘛。。。。。。。  发表于 2016-9-22 20:24
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

3
发表于 2016-9-23 12:46:40 | 只看该作者
仔细看了一下代码之后发现那句表达式略奇怪……
如果一个角色(以ID获取)有多个语音文件的话,
  1. file_name = BattleManager.actor.id.to_s + "_#{rand(语音文件数量)}"
  2. Audio.se_play("Audio/SE/" + file_name + ".wav")
复制代码

当然。。这样只能是所有角色的语音文件数量都要一致,
文件命名“角色ID_序号.wav”。

只有一个语音文件的话,
  1. Audio.se_play("Audio/SE/" + BattleManager.actor.id.to_s + ".wav")
复制代码

只需要这样就可以了……文件命名“角色ID.wav”。

所……所以……
窝没看懂原句里面那个在获取了角色ID字符后面的rand的工作方式……

点评

看起来不像……举个例子……角色是埃里克的话,音频文件名【"1"[rand(5)]】这样会随机取到1和4个nil……  发表于 2016-9-23 13:40
這個寫法只是省略 file_name 吧@@  发表于 2016-9-23 13:07
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

4
发表于 2016-9-23 15:56:13 | 只看该作者
我研究了一下
確實會nill
但是我又檢視了整段腳本,發現上面有個
  1. $se名 = [*""..""]   #$se名 = [*"A".."A"]
复制代码


於是我發現原本應該是這樣用
  1. Audio.se_play("Audio/SE/" + BattleManager.actor.id.to_s+$se名[rand(3)] + ".wav")
复制代码

先在上面設定
  1. $se名 = [*"A".."C"]
复制代码

這樣就可以返回ID+A~C

点评

$se名=*“A”..C 应该就行了  发表于 2016-9-23 16:59

评分

参与人数 1星屑 +6 收起 理由
cinderelmini + 6 原来是这样……

查看全部评分

2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 21:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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