(2021.1.17 追記;DXRuby 1.4.7 の記事を書きました。
→・DXRuby 1.4.7 でエラーになった時の対処法とインストール方法)
(2021.1.18 修正;Devkit(MSYS2)は必要なかったので修正)
Windows向けのRuby用2Dゲームライブラリ「DXRuby」をWindows10で使う場合、いろいろとハマったので、注意点のメモです。
注意点
・ DXRubyは、Windowsでないと動かない
WindowsのDirectXを使うので、macOS、Linuxでは動きません。
Windows環境以外で、DXRubyとほぼ同じコードで動くようにするライブラリとしては、DXOpal(ただし、完全互換ではない)などがあります。
・ DXRubyは、32bit版Rubyでないと動かない
64bitマシンのWindowsであっても、Rubyは32bit版にしないとDXRubyは動きません。
(※ 追記;DXRuby 1.4.6以下の場合)
Rubyのインストールには、「RubyInstaller for Windows」が便利ですが、その場合 32bit版Ruby("x86"
と書いてある版)を使います。Devkit(MSYS2)付きでなくても、DXRubyはかまいません。
DXRuby 1.6.4は、Ruby 2.3~2.6に対応しています。
・ Windows10では、d3dx9_40.dllを追加しないと動かない
DXRubyでは、WindowsのDirectX 9
ライブラリを使っています。(なので、Windows以外では動かない。)
Window10から、DirectX 9
が付属しなくなったので、自分で追加する必要があります。
参考)
→・DXRuby 1.4.6 does't work on Ruby 2.4~2.6 on Windows 10 · Issue #1 · mirichi/dxruby
※ d3dx9_40.dllのインストール方法
1.d3dx9_40.dll
は、公式のMicrosoftのサイトからダウンロードするのが安全。
DirectX End-User Runtimes(June 2010)
をダウンロードします。
2.ダウンロードしたdirectx_Jun2010_redist.exe
をダブルクリック。
適当なフォルダを指定して、解凍します。
3.解凍先のフォルダにDXSETUP.exe
があり、ダブルクリックするとDirectX をインストールできるので、手順としては完了。
それでもよいのだが、必要なのはd3dx9_40.dll
だけなので、これのみを使う手順も以下に紹介しておきます。
a) 必要なのは32bit版のd3dx9_40.dll
なので、Nov2008_d3dx9_40_x86.cab
をダブルクリックします。
b) 中にあるd3dx9_40.dll
(まだこれを解凍しなければならない)をダブルクリックして、適当なフォルダを指定して解凍します。
c) 解凍先のフォルダの中に欲しいd3dx9_40.dll
ができます。
d) インストールしてあるRubyのフォルダの中の、binフォルダ(C: > Ruby26 > bin など、各自の環境に依る)にd3dx9_40.dll
をコピーします。
以上。
DXRubyのインストール方法
DXRuby 1.4.6のインストールは、RubyGemsからできます。
> gem install dxruby
DXRubyが動作するかの確認
> irb
irb(main):001:0> require 'dxruby'
=> true
irb(main):002:0> exit
true
と表示されればOKです!