「トップページ/Ruby/level5」の編集履歴(バックアップ)一覧はこちら
「トップページ/Ruby/level5」の最新版変更点
追加された行はこの色になります。
削除された行はこの色になります。
[[戻る>Ruby]]
#contents
**動画再生
来るところまで来てしまいました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というファイルが作られます
-***プロンプトを開けさせない [#r8ac73b6]
+***プロンプトを開けさせない
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」内にあるフォントファイルもコピーしてください
このwikiの更新情報RSS