67
Box2DWebを触ってみよう

Ohotech特盛 #11 Box2DWebを触ってみよう

Embed Size (px)

DESCRIPTION

Ohotech 特盛 #11で発表したもの 別途資料: http://box2dweb-doc.rtfd.org

Citation preview

Page 1: Ohotech特盛 #11 Box2DWebを触ってみよう

Box2DWebを触ってみよう

Page 2: Ohotech特盛 #11 Box2DWebを触ってみよう

Box2DWebを触ってみようとにかく動くものを!

Page 3: Ohotech特盛 #11 Box2DWebを触ってみよう

自己紹介

Page 4: Ohotech特盛 #11 Box2DWebを触ってみよう

自己紹介

Twitter: @tututen

PythonとかC言語を主に使用

CodeJP 2014でショートコーディングの出題しました

Page 6: Ohotech特盛 #11 Box2DWebを触ってみよう

python -c "exec('try:import SimpleHTTPServer as m\nexcept:import http.server as m');m.test(HandlerClass=m.SimpleHTTPRequestHandler)"

https://github.com/jsakamoto/MarkdownPresenter

Page 7: Ohotech特盛 #11 Box2DWebを触ってみよう

Box2DWebとは

Page 8: Ohotech特盛 #11 Box2DWebを触ってみよう

Box2DWebとは

JavaScriptで動く物理演算ライブラリ

ActionScriptのBox2DFlash 2.1a のコードをJavaScriptで書きなおしたもの

2011年6月以降更新が滞ってる

Page 9: Ohotech特盛 #11 Box2DWebを触ってみよう

準備

http://box2dweb-doc.rtfd.org

ここのページの「準備」→「スケルトンコード」をコピペしましょう

Page 10: Ohotech特盛 #11 Box2DWebを触ってみよう
Page 11: Ohotech特盛 #11 Box2DWebを触ってみよう
Page 12: Ohotech特盛 #11 Box2DWebを触ってみよう

index.htmlを見てみよう

Page 13: Ohotech特盛 #11 Box2DWebを触ってみよう

何も出ません!

Page 14: Ohotech特盛 #11 Box2DWebを触ってみよう

初期化を書こう

Page 15: Ohotech特盛 #11 Box2DWebを触ってみよう

Worldの初期化

Page 16: Ohotech特盛 #11 Box2DWebを触ってみよう

800px

600px

Page 17: Ohotech特盛 #11 Box2DWebを触ってみよう

800px 約27px

20px

600px

Page 18: Ohotech特盛 #11 Box2DWebを触ってみよう

800px 約27px

20px

600px 約9.8px/s^2

Page 19: Ohotech特盛 #11 Box2DWebを触ってみよう

debug表示の設定

Page 20: Ohotech特盛 #11 Box2DWebを触ってみよう

床の設置

Page 21: Ohotech特盛 #11 Box2DWebを触ってみよう

Body

Fixture

Shape

Page 22: Ohotech特盛 #11 Box2DWebを触ってみよう

Body

Body.b2_staticBody

Body.b2_dynamicBody

Page 23: Ohotech特盛 #11 Box2DWebを触ってみよう

Fixture

density(密度)

friction(摩擦係数)

restitution(反発係数)

Page 24: Ohotech特盛 #11 Box2DWebを触ってみよう

Shape

b2.PolygonShape

b2.CircleShape

Page 25: Ohotech特盛 #11 Box2DWebを触ってみよう

run関数

Page 26: Ohotech特盛 #11 Box2DWebを触ってみよう

init関数

Page 27: Ohotech特盛 #11 Box2DWebを触ってみよう

Demo

Page 28: Ohotech特盛 #11 Box2DWebを触ってみよう

Demo

うっすら緑の板

Page 29: Ohotech特盛 #11 Box2DWebを触ってみよう

オブジェクトを置こう

(円形編)

Page 30: Ohotech特盛 #11 Box2DWebを触ってみよう

円形オブジェクト作成

Page 31: Ohotech特盛 #11 Box2DWebを触ってみよう

r

(x, y)

dynamicBody

Circle

Page 32: Ohotech特盛 #11 Box2DWebを触ってみよう

円形オブジェクト設置

Page 33: Ohotech特盛 #11 Box2DWebを触ってみよう

Demo

Page 34: Ohotech特盛 #11 Box2DWebを触ってみよう

オブジェクトを置こう

(長方形編)

Page 35: Ohotech特盛 #11 Box2DWebを触ってみよう

長方形オブジェクト作成

Page 36: Ohotech特盛 #11 Box2DWebを触ってみよう

w

(x, y)

dynamicBody

Polygon

h

Page 37: Ohotech特盛 #11 Box2DWebを触ってみよう

長方形オブジェクト設置

Page 38: Ohotech特盛 #11 Box2DWebを触ってみよう

Demo

Page 39: Ohotech特盛 #11 Box2DWebを触ってみよう

イベント駆動で

オブジェクト配置

Page 40: Ohotech特盛 #11 Box2DWebを触ってみよう

HTMLにボタン設置

Page 41: Ohotech特盛 #11 Box2DWebを触ってみよう

Random関数

Page 42: Ohotech特盛 #11 Box2DWebを触ってみよう

「円形」ボタンイベント追加

Page 43: Ohotech特盛 #11 Box2DWebを触ってみよう

「四角形」ボタンイベント追加

Page 44: Ohotech特盛 #11 Box2DWebを触ってみよう

x座標:Random

出現イメージ

Page 45: Ohotech特盛 #11 Box2DWebを触ってみよう

イベント駆動で

オブジェクト削除

Page 46: Ohotech特盛 #11 Box2DWebを触ってみよう

HTMLにボタン設置

Page 47: Ohotech特盛 #11 Box2DWebを触ってみよう

リセット関数

Page 48: Ohotech特盛 #11 Box2DWebを触ってみよう

Body

World

BodyBody

BodyBodyBody

Page 49: Ohotech特盛 #11 Box2DWebを触ってみよう

Body

World

BodyBody

BodyBodyBody

Delete

DeleteDelete

Page 50: Ohotech特盛 #11 Box2DWebを触ってみよう

Body

WorldBody

Body

Delete

DeleteDelete

Page 51: Ohotech特盛 #11 Box2DWebを触ってみよう

オブジェクトに

画像をはりつける

Page 52: Ohotech特盛 #11 Box2DWebを触ってみよう

適当な画像準備

Page 53: Ohotech特盛 #11 Box2DWebを触ってみよう

ディレクトリ構造

Page 54: Ohotech特盛 #11 Box2DWebを触ってみよう

画像読み込み

Page 55: Ohotech特盛 #11 Box2DWebを触ってみよう

UserDataの使用

Page 56: Ohotech特盛 #11 Box2DWebを触ってみよう

動的オブジェクトの座標取得

Page 57: Ohotech特盛 #11 Box2DWebを触ってみよう

SlideX

SlideY

Canvasの原点に動かす

Page 58: Ohotech特盛 #11 Box2DWebを触ってみよう

Canvasの原点に動かす

Page 59: Ohotech特盛 #11 Box2DWebを触ってみよう

Canvasを回す

Page 60: Ohotech特盛 #11 Box2DWebを触ってみよう

Image描画(座標は左上)

Page 61: Ohotech特盛 #11 Box2DWebを触ってみよう

Canvasを元の角度に戻す

Page 62: Ohotech特盛 #11 Box2DWebを触ってみよう

Canvasを元の位置に戻す

SlideX

SlideY

Page 63: Ohotech特盛 #11 Box2DWebを触ってみよう

ハンズオンは

以上となります

Page 64: Ohotech特盛 #11 Box2DWebを触ってみよう

投げ銭は

+Node.jsで動いてます

Page 65: Ohotech特盛 #11 Box2DWebを触ってみよう

投げ銭のPRを

お待ちしております!

Page 66: Ohotech特盛 #11 Box2DWebを触ってみよう

対戦しましょ?

Page 67: Ohotech特盛 #11 Box2DWebを触ってみよう

対戦しましょ?ご静聴ありがとうございました

Presented By momo_*(@tututen)