Windows向けのRuby用2Dゲームライブラリ「DXRuby」が1.4.7にバージョンアップして、最新のRuby 3.0.0に、そしてついに64bit版Rubyに対応しました。ただし、Windows10で使う場合、エラーになって焦ったので、注意点をメモしておきます。
→ 以前の記事
DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法
注意点
・ DXRubyは、Windowsでないと動かない
WindowsのDirectXを使うので、macOS、Linuxでは動きません。
Windows環境以外で、DXRubyとほぼ同じコードで動くようにするライブラリとしては、「DXOpal」や「Nyle-canvas」などがあります(ただし、完全互換ではない)。
Rubyのインストールには、「RubyInstaller for Windows」が便利です。DXRuby 1.4.7からは、64bit版Ruby("x64"
と書いてある版)に対応しました。
Devkit(MSYS2)付きでなくても、DXRubyはかまいません。
・ 64bit版では、Sound.newでエラーになる
→・[DXRuby 1.4.7] 64bitでは、Sound.newでエラー · Issue #4 · mirichi/dxruby
・ Windows10では、d3dx9_40.dllを追加しないと動かない
これが原因で、DXRubyをインストールしたのに実行するとエラーが出て焦りました。
DXRubyでは、WindowsのDirectX 9
ライブラリを使っています。(なので、Windows以外では動かない。)
Window10から、DirectX 9
が付属しなくなったので、自分で追加する必要があります。
参考)
→・Windows10では、DXRubyを動かすのに d3dx9_40.dllが必要 · Issue #3 · mirichi/dxruby
※ d3dx9_40.dllのインストール方法
d3dx9_40.dll
は、公式のMicrosoftのサイトからダウンロードするのが安全。
DirectX End-User Runtimes(June 2010)
をダウンロードする。
https://www.microsoft.com/en-us/download/details.aspx?id=8109ダウンロードした
directx_Jun2010_redist.exe
をダブルクリック。
適当なフォルダを指定して、解凍する。必要なのは
d3dx9_40.dll
だけなので、解凍先のフォルダの中からRubyの64bit/32bitに合わせて必要なファイルを探す。
・64bit版
Ruby(x64) ;Nov2008_d3dx9_40_x64.cab
・32bit版
Ruby(x86、i386);Nov2008_d3dx9_40_x86.cab
Nov2008_d3dx9_40_x64.cab
またはNov2008_d3dx9_40_x86.cab
をダブルクリックする。中の
d3dx9_40.dll
をダブルクリックして、適当なフォルダを指定して解凍する。解凍先のフォルダに
d3dx9_40.dll
ができる。できた
d3dx9_40.dll
を Windowsのフォルダにコピーする。
やり方は2通りある。
a)インストールしているRubyのフォルダの中の、binフォルダにコピーする。
C:\Ruby30-x64\bin
など
b)Windowsのプログラムフォルダにコピーする。
・64bit版
の d3dx9_40.dllの場合;
C:\Windows\System32
フォルダ(こちらが64bit用
プログラムフォルダ)
・32bit版
の d3dx9_40.dllの場合;
C:\Windows\SysWOW64
フォルダ(こちらが32bit用
プログラムフォルダ)
※プログラムフォルダ名が一見すると逆なので注意!
> 「対象のフォルダーへのアクセスは拒否されました
> このフォルダーへコピーするには管理者の権限が必要です」
とパネルが出るので、
続行
ボタン
を押すとコピーされる。
8.(必要ならWindows を再起動する。)
DXRubyのインストール方法
DXRuby 1.4.7のインストールは、RubyGemsからできます。
> gem install dxruby
DXRubyが動作するかの確認
> irb
irb(main):001:0> require 'dxruby'
=> true
irb(main):002:0> exit
true
と表示されればOKです!
参考)
→・グラフィックプログラミングにチャレンジしよう - Rubyではじめようプログラミング - コカネット(子供の科学 WEBサイト)