Project1
标题:
谁还有这个工程的备份?
[打印本页]
作者:
火焰卷轴
时间:
2018-7-14 18:37
标题:
谁还有这个工程的备份?
https://rpg.blue/thread-242875-1-1.html
已经失效了
谁还有收藏的
麻烦分享一下,多谢
作者:
fux2
时间:
2018-7-14 20:59
这年代实在太久远了,而且还是115资源……
可以试试
@精灵使者
作者:
89444640
时间:
2018-7-15 07:28
高概率我有和这个类似脚本的早期版本,大概08~10年左右的因为开始时间比较早有可能是这个的原型。
虽然有好心人帮我改了两次,依然有问题
但是我这个bgm数量过多的话读不出来,会造成停止工作。
具体功能 播放无法顺序播放 自己按,可实现RM内置功能,乐曲的加减速
界面是这样的,这里的测试工程截图是15年删版权素材以前的,后面的bgm买的太多都读不出来了。
01.png
(240.26 KB, 下载次数: 19)
下载附件
保存到相册
2018-7-15 07:27 上传
代码如下
#==============================================================================
# ■ Scene_Title音乐播放脚本,来自日本网站http://chronicle.onmitsu.jp
# 由isul和link006007帮助修改
#==============================================================================
class Scene_music
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# データベースをロード
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# ファイルリストを作成
@filelist = Dir::entries("./Audio/BGM/")
@filelist.delete(".")
@filelist.delete("..")
if @filelist == []
# ウィンドウを作成
@filelist_window = Window_Base.new(0,0,360,480)
@filelist_window.contents = Bitmap.new(328,448)
@filelist_window.contents.font.color = Color.new(192, 224, 255, 255)
@filelist_window.contents.draw_text(0,100,328,32,"ファイルが見つかりません",1)
@filelist_window.contents.font.size = 16
@filelist_window.contents.font.color = Color.new(255, 255, 255, 255)
@filelist_window.contents.draw_text(0,150,328,32,"「Audio/BGM」フォルダに",1)
@filelist_window.contents.draw_text(0,182,328,32,"オーディオファイルを入れてください",1)
else
# ウィンドウを作成
@filelist_window = Window_Command.new(360, @filelist)
@filelist_window.height = 480
@filelist_window.x = 0
@filelist_window.y = 0
end
@s_status_window = Window_Sound_State.new(360,0,280,200)
@s_status_window.active = false
@key_help_window = Window_Key_Help.new(360,200,280,280)
@bgm = RPG::AudioFile.new
@bgm.volume = 100
@bgm.pitch = 100
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@filelist_window.dispose
@s_status_window.dispose
@key_help_window.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
if @filelist != []
@filelist_window.update
@s_status_window.update
# C ボタンが押された場合
if Input.trigger?(Input::C)
@bgm.name = @filelist[@filelist_window.index]
@s_status_window.set_data(@bgm)
$game_system.bgm_play(@bgm)
end
# B ボタンが押された場合
if Input.trigger?(Input::B)
$game_system.bgm_stop
@filelist_window.dispose
@s_status_window.dispose
@key_help_window.dispose
$scene = Scene_Map.new
$game_map.autoplay
# $scene 为有效的情况下调用 main 过程
while $scene != nil
$scene.main
end
end
# A ボタンが押された場合
if Input.trigger?(Input::A)
if @filelist_window.active
@filelist_window.active = false
@s_status_window.active = true
@key_help_window.refresh_vol
else
@s_status_window.active = false
@filelist_window.active = true
@key_help_window.refresh
end
@bgm.name = @filelist[@filelist_window.index]
@s_status_window.set_data(@bgm)
end
end
end
end
#==============================================================================
# □ Window_Sound_State
#==============================================================================
class Window_Sound_State < Window_Base
#--------------------------------------------------------------------------
# ○ オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# width : ウィンドウの幅
# height : ウィンドウの高さ
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super(x, y, width, height)
@bgm = RPG::AudioFile.new
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.size = 22
if self.active
self.contents.font.color = normal_color
else
self.contents.font.color = Color.new(255, 255, 64, 255)
end
rect = Rect.new(4, 16, self.contents.width - 8, 32)
self.contents.draw_text(rect, @bgm.name)
self.contents.font.color = normal_color
rect = Rect.new(4, 64, self.contents.width - 96, 32)
self.contents.draw_text(rect, "volume", 2)
rect = Rect.new(4, 96, self.contents.width - 96, 32)
self.contents.draw_text(rect, "pitch", 2)
if self.active
self.contents.font.size = 18
self.contents.font.color = system_color
rect = Rect.new(4, 64, self.contents.width - 12, 32)
self.contents.draw_text(rect, "↓ ↑", 2)
rect = Rect.new(4, 96, self.contents.width - 12, 32)
self.contents.draw_text(rect, "← →", 2)
self.contents.font.color = Color.new(255, 255, 64, 255)
end
self.contents.font.size = 22
rect = Rect.new(4, 64, self.contents.width - 32, 32)
self.contents.draw_text(rect, @bgm.volume.to_s, 2)
rect = Rect.new(4, 96, self.contents.width - 32, 32)
self.contents.draw_text(rect, @bgm.pitch.to_s, 2)
end
#--------------------------------------------------------------------------
# ○ サウンドデータをセット
#--------------------------------------------------------------------------
def set_data(bgm)
@bgm = bgm
refresh
end
#--------------------------------------------------------------------------
# ○ フレーム更新
#--------------------------------------------------------------------------
def update
super
# カーソルの移動が可能な状態の場合
if self.active
# 方向ボタンの下が押された場合
if Input.repeat?(Input::DOWN)
if @bgm.volume > 0
@bgm.volume -= 5
set_data(@bgm)
end
end
# 方向ボタンの上が押された場合
if Input.repeat?(Input::UP)
if @bgm.volume < 100
@bgm.volume += 5
set_data(@bgm)
end
end
# 方向ボタンの右が押された場合
if Input.repeat?(Input::RIGHT)
if @bgm.pitch < 150
@bgm.pitch += 5
set_data(@bgm)
end
end
# 方向ボタンの左が押された場合
if Input.repeat?(Input::LEFT)
if @bgm.pitch > 50
@bgm.pitch -= 5
set_data(@bgm)
end
end
end
end
end
#==============================================================================
# □ Window_Key_Help
#==============================================================================
class Window_Key_Help < Window_Base
#--------------------------------------------------------------------------
# ○ オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super(x, y, width, height)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
refresh
end
#--------------------------------------------------------------------------
# ○ リフレッシュ(ファイルリスト)
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.size = 20
rect = Rect.new(4, 0, self.contents.width - 8, 22)
self.contents.draw_text(rect, "- 说明 -",1)
self.contents.font.color = system_color
self.contents.font.size = 18
rect = Rect.new(100, 32, 180, 32)
self.contents.draw_text(rect, "Enter , Space , C")
rect = Rect.new(100, 64, 180, 32)
self.contents.draw_text(rect, "Esc , X , 0")
rect = Rect.new(100, 96, 180, 32)
self.contents.draw_text(rect, "Shift , Z")
rect = Rect.new(100, 128, 180, 32)
self.contents.draw_text(rect, "↑ , ↓")
self.contents.font.color = normal_color
self.contents.font.size = 22
rect = Rect.new(4, 32, 90, 32)
self.contents.draw_text(rect, "播放")
rect = Rect.new(4, 64, 90, 32)
self.contents.draw_text(rect, "停止")
rect = Rect.new(4, 96, 90, 32)
self.contents.draw_text(rect, "音乐选项")
rect = Rect.new(4, 128, 90, 32)
self.contents.draw_text(rect, "选曲")
end
#--------------------------------------------------------------------------
# ○ リフレッシュ(ボリュームコントロール)
#--------------------------------------------------------------------------
def refresh_vol
self.contents.clear
self.contents.font.size = 20
rect = Rect.new(4, 0, self.contents.width - 8, 22)
self.contents.draw_text(rect, "- 说明 -",1)
self.contents.font.color = system_color
self.contents.font.size = 18
rect = Rect.new(100, 32, 180, 32)
self.contents.draw_text(rect, "↑ , ↓")
rect = Rect.new(100, 64, 180, 32)
self.contents.draw_text(rect, "← , →")
rect = Rect.new(100, 96, 180, 32)
self.contents.draw_text(rect, "Enter , Space , C")
rect = Rect.new(100, 128, 180, 32)
self.contents.draw_text(rect, "Esc , X , 0")
rect = Rect.new(100, 160, 180, 32)
self.contents.draw_text(rect, "Shift , Z")
self.contents.font.color = normal_color
self.contents.font.size = 22
rect = Rect.new(4, 32, 90, 32)
self.contents.draw_text(rect, "音量")
rect = Rect.new(4, 64, 90, 32)
self.contents.draw_text(rect, "速度")
rect = Rect.new(4, 96, 90, 32)
self.contents.draw_text(rect, "播放")
rect = Rect.new(4, 128, 90, 32)
self.contents.draw_text(rect, "停止")
rect = Rect.new(4, 160, 90, 32)
self.contents.draw_text(rect, "回主菜单")
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1