Text
Page: 1
Sinatra風
マルチメディア
プログラミング
@myokoym
勉強会@Sinatra札幌
2014/05/10
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 2
自己紹介
横山昌史(@myokoym)
Rabbitショッカー
Ruby-GNOME2 Project Team
Groonga勉強会@札幌
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 3
よろしくお願いします。
m(_ _)m
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 4
ここでクイズです。
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 5
Q. Sinatraは好きですか?
A. 好きです
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 6
Q. ゲームは好きですか?
A. 好きです
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 7
Q. プログラミングは?
A. 好きです
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 8
そんなあなたに
Sinatraっぽい文法でゲームを書け
るライブラリのご紹介です。
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 9
その名は…
Gosu::Zen
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 10
その名は…
Gosu::Zen
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 11
Gosu is 何
Gosu is a 2D game
development library for the
Ruby and C++ programming
languages, available for Mac
OS X, Windows, and Linux.
[「http://www.libgosu.org/」より引用]
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 12
Gosu is 何
2Dゲーム開発ライブラリ
RubyとC++向け
マルチプラットフォーム
Mac OS X
Windows
Linux
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 13
Gosu 0.7.x
現時点での最新リリース版
SDLベース
C++版はiOSに対応
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 14
インストール
gem install gosu
・WindowsはRuby1.9のみ対応
・Linuxでは事前にSDLなどをインストールしておく(See https://
github.com/jlnr/gosu/wiki/Getting-Started-on-Linux)
・OS Xは?(試してみてください!)
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 15
こんな感じで書きます
require "gosu"
# 1フレームごとにupdateとdrawが呼ばれる
class Window < Gosu::Window
def update
# 主要ロジック(移動、衝突判定など)
end
def draw
# 描画コード(ロジックは含めない)
end
end
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 16
実行例
width = 800
height = 600
fullscreen = false
window = Window.new(width,
height,
fullscreen)
# メインループ開始(デフォルトは60fps)
window.show
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 17
Gosu 0.8
次期リリース版
gem install gosu --pre
SDL2ベース
Raspbian(Raspberry Pi)対応
Android対応予定
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 18
以下本題。
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 19
Gosu::Zen
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 20
Gosu::Zen is 何
GosuのSinatra風ラッパー
Zen was inspired by:
http://www.sinatrarb.com/
configuration.html
まだ実験段階(仕様変更あり)
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 21
こんな感じで書きます
require "gosu/zen"
include Gosu::Zen
update do
# 主要ロジック(移動、衝突判定など)
end
draw do
# 描画コード(ロジックは含めない)
end
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 22
デモ
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3
Page: 23
次回予告
OSC 2014 Hokkaido
http://www.ospn.jp/osc2014-do/
Sinatra札幌も出展します
6/14(土) 10:00〜16:00
札幌市産業振興センター
Please remember it!
Sinatra風マルチメディアプログラミング
Powered by Rabbit 2.1.3