(有)胡桃沢製作所 made in "naha"

「トップページ/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」内にあるフォントファイルもコピーしてください