libPd (Pure Data のラッパー) と組み合わせて使用している Python で単純なテキスト ベースのゲームを作成しました。すべてのゲーム コードは、オーディオが実装される前に記述されており、意図したとおりに動作します。同様に、libPd スクリプト自体も単独で完全に機能します。しかし、彼らを一緒にうまくプレイさせるのは難しいことがわかっています.
while ループとそれらの使用法に関係していると思います。
以下はゲームコードからの抜粋です -
while True:
command = raw_input().lower()
if command == "commands":
print '"look around"'
print '"explore"'
print '"inventory"'
print '"examine"'
print '"take"'
print '"combine"'
print '"quit"'
elif command == "look" or command == "look around":
char.look()
...など... ...など...
libPd スクリプト自体は次のようになりますが、
while True:
if not ch.get_queue():
for x in range(BUFFERSIZE):
if x % BLOCKSIZE == 0:
outbuf = m.process(inbuf)
samples[selector][x][0] = outbuf[(x % BLOCKSIZE) * 2]
samples[selector][x][1] = outbuf[(x % BLOCKSIZE) * 2 + 1]
ch.queue(sounds[selector])
selector = int(not selector)
libpd_release()
私は当初、libPd セクション内のゲーム コード全体をインデントしようとしましたが、コマンドが入力されるとオーディオが再生され、印刷メッセージが返されると停止しました。
プレーヤーが残りのコマンド/ゲームを自由に実行できる間、音楽が一定になるように、2 つを組み合わせるにはどうすればよいですか?