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

Project1

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

音乐鉴赏脚本增加标注和进度条的问题,请大家帮忙

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2006-1-28
帖子
996
跳转到指定楼层
1
发表于 2008-9-15 08:20:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我现在使用的是论坛找到的一个音乐鉴赏的帖子的脚本
  1. class Scene_Music
  2. #--------------------------------------------------------------------------
  3. # ● 主处理
  4. #--------------------------------------------------------------------------
  5. def main
  6.    # 生成命令窗口
  7.    s1 = "music1"
  8.    s2 = "music2"
  9.    s3 = "music3"
  10.    s4 = "music4"
  11.    @command_window = Window_Command.new(192, [s1, s2, s3,s4])
  12.    @command_window.x = 320 - @command_window.width / 2
  13.    @command_window.y = 240 - @command_window.height / 2
  14.    @musicname = ["001-Battle01","002-Battle02","003-Battle03","004-Battle04"]
  15.    Graphics.transition
  16.    loop do
  17.      Graphics.update
  18.      Input.update
  19.      update
  20.      if $scene != self
  21.        break
  22.      end
  23.    end
  24.    Graphics.freeze
  25.    @command_window.dispose
  26.    if $scene.is_a?(Scene_Title)
  27.      Graphics.transition
  28.      Graphics.freeze
  29.    end
  30. end
  31. #--------------------------------------------------------------------------
  32. # ● 刷新画面
  33. #--------------------------------------------------------------------------
  34. def update
  35.    @command_window.update
  36.    # 按下 B 键的情况下
  37.    if Input.trigger?(Input::B)
  38.      $game_system.se_play($data_system.cancel_se)
  39.      $scene = Scene_Title.new
  40.      return
  41.    end
  42.    # 按下 C 键的场合下
  43.    if Input.trigger?(Input::C)
  44.      # 命令窗口光标位置分支
  45.      name = "Audio/BGM/" + @musicname[@command_window.index]
  46.      Audio.bgm_play(name)
  47.      return
  48.    end
  49. end
  50. end
复制代码


现在的效果是:


希望修改后的效果是:



Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
2
发表于 2008-9-15 11:07:14 | 只看该作者
嘛,不知道这个使用效果是什么~~,懒得试...

猜一下思路~~

找到描述时间的地方用时间除总时间得到百分比,然后用这个百分比画槽值,然后每桢刷新应该就可以了~~

关键是如何获得时间-。-,酒喝多了懒得看脚本....这个疑问留给楼下好了....
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2007-7-14
帖子
2746
3
发表于 2008-9-15 16:56:44 | 只看该作者
标注易做,生成另一个窗口嘛~~~进度条难~~本人自认烂,疑问再推给楼下...
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

4
发表于 2008-9-15 16:58:42 | 只看该作者
为什么我看这个脚本像是我上次写的End版本……好吧,我试试,进度条那个有点难=v=
还有菜刀你好懒=v=
  1. class Window_Enjoy < Window_Base
  2.   def initialize
  3.     super(640 - 224,480 - 152,224,152)
  4.     self.contents = Bitmap.new(width - 32,height - 32)
  5.   end
  6.   def update(ar)
  7.     refresh(ar)
  8.   end
  9.   def refresh(ar)
  10.     self.contents.clear
  11.     self.contents.draw_text(0,32*0,192,32,ar[0])
  12.     self.contents.draw_text(0,32*1,192,32,"出处:  " + ar[1])
  13.     self.contents.draw_text(0,32*2,192,32,"制作人:" + ar[2])
  14.     self.contents.draw_text(0,32*3,192,32,"词作者:" + ar[3])
  15.   end
  16. end
  17. class Scene_Music
  18. #--------------------------------------------------------------------------
  19. # ● 主处理
  20. #--------------------------------------------------------------------------
  21. def main
  22.    # 生成命令窗口
  23.    s1 = "music1"
  24.    s2 = "music2"
  25.    s3 = "music3"
  26.    s4 = "music4"
  27.    @command_window = Window_Command.new(192, [s1, s2, s3,s4])
  28.    @command_window.x = 0
  29.    @command_window.y = 0
  30.    @musicname = ["001-Battle01","002-Battle02","003-Battle03","004-Battle04"]
  31.    @enjoys = [["music1","From","Maker","Words Maker"],
  32.    ["music2","From","Maker","Words Maker"],
  33.    ["music3","From","Maker","Words Maker"],
  34.    ["music4","From","Maker","Words Maker"]]
  35.    @enjoy_window = Window_Enjoy.new
  36.    Graphics.transition
  37.    loop do
  38.      Graphics.update
  39.      Input.update
  40.      update
  41.      if $scene != self
  42.        break
  43.      end
  44.    end
  45.    Graphics.freeze
  46.    @command_window.dispose
  47.    if $scene.is_a?(Scene_Title)
  48.      Graphics.transition
  49.      Graphics.freeze
  50.    end
  51. end
  52. #--------------------------------------------------------------------------
  53. # ● 刷新画面
  54. #--------------------------------------------------------------------------
  55. def update
  56.    @enjoy_window.update(@enjoys[@command_window.index])
  57.    @command_window.update
  58.    # 按下 B 键的情况下
  59.    if Input.trigger?(Input::B)
  60.      $game_system.se_play($data_system.cancel_se)
  61.      $scene = Scene_Title.new
  62.      return
  63.    end
  64.    # 按下 C 键的场合下
  65.    if Input.trigger?(Input::C)
  66.      # 命令窗口光标位置分支
  67.      name = "Audio/BGM/" + @musicname[@command_window.index]
  68.      Audio.bgm_play(name)
  69.      return
  70.    end
  71. end
  72. end
复制代码

第一个功能实现了,进度条实在找不到计算音乐总长度的方法,饶了我吧=v=
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
5
发表于 2008-9-15 18:34:42 | 只看该作者
关于进度条
首先花个槽,这个不多说
主要是计算MUSIC 的 长度 和 现在的位置 = =
用MCISENGSTRING
mss = Win32API.new('winmm.dll', 'mciSendStringA','ppll', 'l')

不过就不能用AUDIO了
必须用MCISENGSTRING来播放

来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2008-9-15 18:43:46 | 只看该作者
以下引用dbshy于2008-9-15 10:34:42的发言:

关于进度条
首先花个槽,这个不多说
主要是计算MUSIC 的 长度 和 现在的位置 = =
用MCISENGSTRING
mss = Win32API.new('winmm.dll', 'mciSendStringA','ppll', 'l')

不过就不能用AUDIO了
必须用MCISENGSTRING来播放

其实我是来好奇:怎么用……
在秀秀的那本Help里面没有找到其资料=v=
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-24 05:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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