Rabbit Slide Show

Sinatra風マルチメディアプログラミング

2014-05-10

Description

Sinatraっぽい文法でゲームを書けるGosu Zenの紹介

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

Other slides