狠狠撸

狠狠撸Share a Scribd company logo
QML
遊戲製作入門
DIRO FAN 范姜士武
diro.fan@gmail.com
2014/12/20@台開金融大樓 黑客松培训计划
歡迎加入Qt@Taiwan 社群
https://www.facebook.com/groups/qtdev/
先廣告一下 XD
今天一樣不寫C++
用QML/JS就可以搞定一切
QML 石器時代
如何開發一個遊戲?
石器時代
1. QML 已經提供了不少元件讓你方便做遊戲
a. Keys
b. Animation
c. Image
d. Audio
e. Particle
f. Timer
2. 其實已經很好了,當年的 DOS 恐龍時代....還
要自己讀字型檔跟圖檔....
John Carmack
1. 但不得不提一下,恐龍時代還是出了像 John
Carmack 這種人物,就算我們用 QML 也寫不
贏他..
a. id Software 創辦人之一,在PC恐龍時代做出了跟 任
天堂上的超級瑪莉 一樣順暢的捲軸遊戲。
b. 發明了世界上最神奇的開根號公式,讓3D遊戲效能大
獲提昇
QML 培訓課程  - 遊戲製作入門
我們也有喝不完的可樂
相信大家在這次黑客松也可以做出
嚇鼠倫的作品
講古講完了
讓我們繼續回到QML石器時代
身為熱血青年,又有QML
所有東西自己刻也是很合理的
SAMEGAME
●
SAMEGAME
●
SAMEGAME
● var column = Math.floor(x/gameCanvas.
blockSize);
● var row = Math.floor(y/gameCanvas.
blockSize);
● floodFill()
○ recursive
●
寫寫簡單的方塊遊戲
自幹還勉強可以
但我們畢竟不是
John Carmack
要用石頭寫個超級瑪莉
還是很困難的
让我们进化到工业时代
BOX2D
物理引擎界的霸主
BOX2D
● Box2D is an open source C++ engine for
simulating rigid bodies in 2D
● Collision detection, friction, restitution,
forces/impulses
http://www.iforce2d.net/b2dtut/forces
http://clouddeep.pixnet.net/blog/post/30573066-%5Bbox2d%5D-%E5%
88%9D%E5%AD%B8%E5%85%A5%E9%96%80
●
BOX2D
老實說,我覺得 API 用起來還是有點麻煩....
而且不是說好今天不講C++嗎....
Quasi-Engine
直接讓QML使用BOX2D
Quasi-Engine
● Scene
○ gravity: Qt.point(0, -30.0)
● Material
○ friction, density, restitution
Quasi-Engine
● Entity (Body)
○ Static, Dynamic, Kinematic
Quasi-Engine
● Fixture
○ A fixture binds a shape to a body(entity) and adds material properties
such as density, friction, and restitution.
● Joint
○ This is a constraint used to hold two or more bodies together. Box2D
supports several joint types: revolute, prismatic, distance, and more.
Some joints may have limits and motors.
● applyLinearImpulse()
● applyTorque()
NBA90
組成元件
● Static Entity
○ 籃架 backboardHandler
○ 籃板 backboard
○ 籃框 basketHandler
○ 地板 ground
● Dynamic Entity
○ 籃球 ball
Quasi-Engine
● 投球
Quasi-Engine
● 進球判斷
Quasi-Engine
使用前,記得先編好 BOX2D
unzip Box2D_v2.1.2.zip
cd Box2D_v2.1.2/Box2D/Build
cmake ..
make
如果你真的堅持用石頭打造瑪莉歐
1. 可以參考一下 ICS 的手把手教學:
a. http://developer.nokia.
com/community/wiki/images/4/4c/ICSCasualGames
WithQml.pdf?20110622180857
2. 還有上次QUIT的五子棋
a. http://quitcoding.
com/download/Qt_Quick_Game_Program
ming_1_0.pdf
光有這堆物理模擬,
是無法滿足使用者的
出動更高級的武器
让我们进化到黑暗时代
真正的遊戲平台
V-PLAY
V-PLAY
1. 404 Not Found
啃,因為有bug,我build不出來啊..
敬請期待
倉庫番,魔法氣泡,超級瑪莉,俄羅斯方塊
那你這次想動手打造什麼呢
記得帶上幾罐可樂
衝吧!

More Related Content

QML 培訓課程 - 遊戲製作入門