松江Ruby会議05 dxruby
Transcript of 松江Ruby会議05 dxruby
![Page 1: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/1.jpg)
DXRubyのご紹介
by @mirichi( 湊 靖隆)
![Page 2: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/2.jpg)
DXRubyとは
![Page 3: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/3.jpg)
Ruby用ゲーム
ライブラリ
![Page 4: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/4.jpg)
2009年の
RubyistMagazineに記事載ってます
![Page 5: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/5.jpg)
![Page 6: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/6.jpg)
特徴
![Page 7: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/7.jpg)
DirectXで描画する
![Page 8: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/8.jpg)
Windows専用
![Page 9: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/9.jpg)
高速
![Page 10: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/10.jpg)
(今のところ)
2Dのみ
![Page 11: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/11.jpg)
異様にシンプル
![Page 12: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/12.jpg)
シンプルその1
![Page 13: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/13.jpg)
最低限のコードで動かせる
![Page 14: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/14.jpg)
とりあえずウィンドウを表示
![Page 15: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/15.jpg)
require 'dxruby'
Window.loop doend
![Page 16: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/16.jpg)
トウフを表示
![Page 17: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/17.jpg)
require 'dxruby'
tofu = Image.new(100, 100, C_WHITE)
Window.loop do Window.draw(200, 200, tofu)end
![Page 18: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/18.jpg)
トウフを移動
![Page 19: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/19.jpg)
require 'dxruby'
tofu = Image.new(100, 100, C_WHITE)x = y = 200
Window.loop do x += Input.x y += Input.y Window.draw(x, y, tofu)end
![Page 20: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/20.jpg)
ライブラリはシンプルに
![Page 21: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/21.jpg)
Rubyで書けるところはRubyで書く
![Page 22: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/22.jpg)
という方針
![Page 23: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/23.jpg)
※注意手抜きではありません
![Page 24: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/24.jpg)
シンプルその2
![Page 25: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/25.jpg)
Rubyの機能がほとんど使われていない
![Page 26: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/26.jpg)
Rubyの特長■シンプルな文法■普通のオブジェクト指向機能(クラス、メソッドコールなど)
■特殊なオブジェクト指向機能(Mixin、特異メソッドなど)■演算子オーバーロード■例外処理機能■イテレータとクロージャ■ガーベージコレクタ■ダイナミックローディング(アーキテクチャによる)
■移植性が高い。多くのUNIX上で動くだけでなく、DOSや
Windows、Mac、BeOSなどの上でも動く
(Ruby公式サイトより)
![Page 27: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/27.jpg)
Rubyの特長■シンプルな文法■普通のオブジェクト指向機能(クラス、メソッドコールなど)
■特殊なオブジェクト指向機能(Mixin、特異メソッドなど)■演算子オーバーロード■例外処理機能■イテレータとクロージャ■ガーベージコレクタ■ダイナミックローディング(アーキテクチャによる)
■移植性が高い。多くのUNIX上で動くだけでなく、DOSや
Windows、Mac、BeOSなどの上でも動く
(Ruby公式サイトより)
![Page 28: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/28.jpg)
Ruby初心者でも動くものが作れる
![Page 29: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/29.jpg)
余談
![Page 30: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/30.jpg)
なぜこんなAPIなのか
![Page 31: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/31.jpg)
開発者がRuby初心者だった
![Page 32: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/32.jpg)
もともと自分用に作っていた
![Page 33: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/33.jpg)
そしたら初心者向けになった
![Page 34: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/34.jpg)
閑話休題
![Page 35: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/35.jpg)
DXRubyでゲームは作れるのか
![Page 36: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/36.jpg)
難しいものは作るのも難しい
![Page 37: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/37.jpg)
簡単なものは極めて簡単に作れます
![Page 38: 松江Ruby会議05 dxruby](https://reader030.fdocument.pub/reader030/viewer/2022020123/5596407e1a28ab58558b465d/html5/thumbnails/38.jpg)
試しにちょっと
作ってみよう