アットウィキロゴ

トップページ > Ruby > level5



動画再生

来るところまで来てしまいましたw
MyGameの親ライブラリと言えるSDLには、MPEGを再生させる機能が付いています
ただし、使用方法が少し複雑なのと、インタプリタ故の遅さが難点です
まあ、exeファイルに変換してしまえばそれまでですがw

下準備

動画再生を行う前に、ある程度の準備(新出メソッドの勉強)が必要です
まずは順番に見ていきましょう

SDL.init(SDL::INIT_VIDEO|SDL::INIT_AUDIO)

initは初期化を表します
本来なら、動画の映像と音源のON/OFFの設定をしなければならないのですが、
これを使えば全てONで初期化してくれます

screen = SDL.setVideoMode(640, 480, 32, SDL::SWSURFACE)

右辺に注目して下さい
MyGameでは自動で行っていましたが、SDLではsetVideoModeでウィンドウを生成します
引数は左から横幅、縦幅、画面の色(ビット)、ウィンドウタイプです
ウィンドウタイプについては、後々説明する予定です
そして生成したウィンドウの情報を、screenに代入します

オブジェクトを作る

まずはいつも通り、MPEGのオブジェクトを作りましょう

mov = SDL::MPEG.load('パス名')

オブジェクト指向のページを見た人なら、ティーンと来たはずですwww
これは「SDLクラスの中のメンバ関数を呼び出す」と言う意味です

再生サイズを設定する

取り込んだ動画を再生させるには、再生サイズを設定する必要があります
とは言え、それほど難しくはありません

mov.setDisplay(screen)

setDisplayで、動画オブジェクトの再生サイズを設定します
引数に先ほどのscreenを代入すれば、ウィンドウ全体で再生出来ます

動画を再生させる

オブジェクトさえ出来れば、再生させるのは簡単です

mov.play

これでOK、簡単でしょ?

動画を止める

動画を途中で止めるには、次のメソッドを呼び出します

mov.stop

…あまりにも分かりやすいメソッドですw

exeにする

Rubyの弱点である遅さを克服するために、完成したファイルをexeにしましょう
ちなみに、今回は例としてhello.rbをexeに変換します

mkexyファイルを作る

exeの前段階として、mkexyファイルを作成します
まずは、変換したいファイルのあるディレクトリ(フォルダ)でコマンドプロンプトを開きます
そこで次のように入力します

mkexy hello.rb

ファイルが実行されるので終了させます
するとhello.exyというファイルが作られます

プロンプトを開けさせない

exeに変換する前に、exyファイルをメモ帳なりで開きます
そこにある「core: cui」を「core: gui」に書き換えます
こうすると、exeファイルにして実行したときにプロンプト窓が開かなくなります

exe化

さて、色々準備も終わったところで、いよいよexeに変換です
もう一度プロンプトを開いて、以下を実行します

exerb hello.exy

これでhello.exeが完成しました!

注意点

exeにしましたが、これだけでは動きません
「C:\Program Files\ruby-1.8\bin」内にあるdllファイルを
exeファイルのあるディレクトリの中にコピーする必要があります
また、文字列表示などをした場合は、
「C:\Program Files\ruby-1.8\share\mygame」内にあるフォントファイルもコピーしてください
最終更新:2009年09月07日 16:56
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。