簡介
HTML5技術(shù)為現(xiàn)今Webhtml' target='_blank'>應(yīng)用程序在瀏覽器中提供了非常廣闊的發(fā)揮空間,其強(qiáng)大的功能讓我們在瀏覽器上開發(fā)游戲和玩游戲不再是難事。利用Canvas和強(qiáng)大的JavaScript引擎,我們可以輕松地完成休閑游戲的開發(fā)。玩家只需打開瀏覽器,不用安裝插件便可以享受到游戲帶來的樂趣。
本文由NTFusion團(tuán)隊(duì)所作,結(jié)合了他們在Google Chrome Web Store上發(fā)布的《拯救PAPA》,和大家分享一下使用HTML5開發(fā)物理游戲的心得。
搭建物理世界
物理游戲當(dāng)中的一切物體,都是在一個設(shè)定好的物理世界中運(yùn)作的。創(chuàng)建物理世界,我們現(xiàn)在使用的是Box2D物理引擎的JavaScript版本。構(gòu)建物理世界的時候,首先我們需要定義相關(guān)的物理物體,然后根據(jù)游戲的特性所需,設(shè)定相關(guān)的物理參數(shù)。
// 創(chuàng)建物理世界實(shí)例var world = new b2World(new b2Vec2(0, 9.8), true);var scale = 1 / 30; /*像素與Box2D里的長度單位的轉(zhuǎn)換*/// 創(chuàng)建地面和其物理性質(zhì)的設(shè)定var bodyDef = new b2BodyDef();var body = world.CreateBody(bodyDef);var fixtureDef = new b2FixtureDef();fixtureDef.density = 10;fixtureDef.friction = 0.3;fixtureDef.restitution = 0.1;var polygonShape = new b2PolygonShape();polygonShape.SetAsBox(800 * scale, 20 * scale);fixtureDef.shape = polygonShape; body.SetType(b2Body.b2_staticBody);body.CreateFixture(fixtureDef);body.SetPosition(new b2Vec2(400 * scale, 490 * scale));// 創(chuàng)建PAPA方塊和其物理性質(zhì)的設(shè)定var bodyDef = new b2BodyDef();var body = world.CreateBody(bodyDef);var fixtureDef = new b2FixtureDef();fixtureDef.density = 10; /* density 為密度*/fixtureDef.friction = 0.3; /* friction 為摩擦系數(shù)*/fixtureDef.restitution = 0.8; /* restitution 為彈性系數(shù)*/var polygonShape = new b2PolygonShape();polygonShape.SetAsBox(30 * scale, 30 * scale);fixtureDef.shape = polygonShape;body.SetType(b2Body.b2_dynamicBody);body.CreateFixture(fixtureDef);body.SetPosition(new b2Vec2(400 * scale, 100 * scale));鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選