Help us understand the problem. What is going on with this article?

DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法

Windows向けのRuby用2Dゲームライブラリ「DXRuby」をWindows10で使う場合、いろいろとハマったので、注意点のメモです。

DXRuby HP
DXRuby GitHub

注意点

・ DXRubyは、Windowsでないと動かない

WindowsのDirectXを使うので、macOS、Linuxでは動きません。
Windows環境以外で、DXRubyとほぼ同じコードで動くようにするライブラリとしては、DXOpal(ただし、完全互換ではない)などがあります。

・ DXRubyは、32bit版Rubyでないと動かない

64bitマシンのWindowsであっても、Rubyは32bit版にしないとDXRubyは動きません。
Rubyのインストールには、「RubyInstaller for Windows」が便利ですが、その場合 32bit版Ruby("x86"と書いてある版)+ Devkit付きのものを使います。
DXRuby 1.6.4は、Ruby 2.3~2.6に対応しています。
(Rubyのインストール後、指示にしたがってDevkitもインストールしておきます。)

・ DXRubyには、Devkit(MSYS2)も必要

上述の通り、Rubyのインストールと共に、Devkitもインストールしておく必要があります。

・ 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)をダウンロードします。

https://www.microsoft.com/en-us/download/details.aspx?id=8109

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です!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away