DXRuby 1.4.5 Reference Manual
TOPへ戻る

ocraによるexe化

Ruby1.9以降Exerbによるexe化ができなくなりましたが、現在はWindows環境でもocraによるexe化が可能です。
この項目では、ocraによるExeファイルを作成する方法を説明します。

目次

  1. 基本
    1. ocraの導入
    2. 実行コードの用意
    3. 実行ファイルを生成する
  2. 画像や音も同梱する
    1. 実行コードの用意
    2. 実行ファイルを生成する
    3. 注意事項

基本

ocraの導入

既にocraが導入済であればこの処理は不要です。

gem install ocra

実行コードの用意

例として、以下のコードをsample.rbという名前で保存します。

require 'dxruby'

Window.loop do
  # 何もしない黒い画面が表示されます
end

実行ファイルを生成する

ocra --windows sample.rb

--windowsオプションを付けないとコンソール画面表示後にウィンドウが起動することになります。
上記コマンド実行後、同一フォルダにsample.exeが出力されます。

この方法で作成したexeには、Rubyインタプリタと必要な拡張ライブラリ、ゲームのスクリプトが含まれます。
画像や音のファイルは含まれませんので、配布する場合にはそれらも一緒に配布する必要があります。

画像や音も同梱する

生成するexeファイルにスクリプト以外のデータを梱包することも可能です。

実行コードの用意

例として、以下のコードをsample.rbという名前で保存し、コードと同じフォルダにimageフォルダを作り、さらにその中にsample.pngを配置します。
ocraは実行時に一時ディレクトリにデータを展開するため、その展開先のスクリプトのファイルパスからの相対位置から読み込むようにする必要があります。

require 'dxruby'

$GAME_PATH = File.dirname(__FILE__)
sprite = Sprite.new(0, 0, Image.load("#{$GAME_PATH}/image/sample.png"))

Window.loop do
  sprite.draw
end

実行ファイルを生成する

ocra --windows sample.rb image

同梱したいフォルダ名が複数ある場合は、下記のように指定します。

# imageフォルダだけでなくsoundフォルダ、scenarioフォルダも含めたい場合
ocra --windows sample.rb image sound scenario

注意事項

ocraは実行時に一時ディレクトリに実行スクリプト及びその同梱物を展開するため、ゲーム実行中にそこを見ることで露出したソースや画像を確認できてしまいます。
どうしても隠蔽したい、という場合はこのようななにかしらの対策をする必要があります。

TOPへ戻る