<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' gd:etag='W/&quot;CEcFR386eSp7ImA9WhJRFUw.&quot;'><id>tag:blogger.com,1999:blog-3292229206306111260</id><updated>2012-07-17T13:30:16.111+05:30</updated><title>HTML5 Game Development Tutorial For Beginners</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://html5gamingtutorial.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://html5gamingtutorial.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sridevi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;CEcFR38_fCp7ImA9WhJRFUw.&quot;'><id>tag:blogger.com,1999:blog-3292229206306111260.post-940585746972742509</id><published>2012-07-16T13:42:00.001+05:30</published><updated>2012-07-17T13:30:16.144+05:30</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-07-17T13:30:16.144+05:30</app:edited><title>Box2DWeb</title><content type='html'>Was playing with idea of using physics in my game, and found this amazing open source physics gaming engine called Box2D. They have ports of the game engine for javascript and AS3. The only problem being there isn't much documentation out there for js.&lt;br /&gt;
I will be using the Box2D-Web port of Box 2D since this version is kept up to date. &lt;br /&gt;
&lt;br /&gt;
here is the code,&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var world;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var&amp;nbsp;&amp;nbsp; b2Vec2 = Box2D.Common.Math.b2Vec2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2BodyDef = Box2D.Dynamics.b2BodyDef&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2Body = Box2D.Dynamics.b2Body&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2FixtureDef = Box2D.Dynamics.b2FixtureDef&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2Fixture = Box2D.Dynamics.b2Fixture&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2World = Box2D.Dynamics.b2World&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2MassData = Box2D.Collision.Shapes.b2MassData&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2CircleShape = Box2D.Collision.Shapes.b2CircleShape&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp;&amp;nbsp; b2DebugDraw = Box2D.Dynamics.b2DebugDraw&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp; b2Vec2 = Box2D.Common.Math.b2Vec2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var canvas = document.getElementById("canvas");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var context = canvas.getContext("2d");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var mouseX, mouseY, isMouseDown;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function init() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; world = new b2World(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new b2Vec2(0, 10)&amp;nbsp;&amp;nbsp;&amp;nbsp; //gravity&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&amp;nbsp; true&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //allow sleep&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; setupWorld() ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //setup debug draw&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var debugDraw = new b2DebugDraw();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; debugDraw.SetSprite(document.getElementById("canvas").getContext("2d"));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; debugDraw.SetDrawScale(1.0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; debugDraw.SetFillAlpha(0.3);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; debugDraw.SetLineThickness(1.0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; debugDraw.SetFlags(b2DebugDraw.e_shapeBit&amp;nbsp; |&amp;nbsp; b2DebugDraw.e_jointBit);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; world.SetDebugDraw(debugDraw);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.setInterval(update, 1000 / 60);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function setupWorld() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; setupGround();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; addBouncingBall();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function setupGround() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var fixDef = new b2FixtureDef;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.density = 1.0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.friction = 0.5;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.restitution = 0.2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var bodyDef = new b2BodyDef;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create ground&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyDef.type = b2Body.b2_staticBody;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyDef.position.x = 300;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyDef.position.y = 400;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.shape = new b2PolygonShape;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.shape.SetAsBox(290, 10);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; world.CreateBody(bodyDef).CreateFixture(fixDef);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function addBouncingBall() {&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var fixDef = new b2FixtureDef;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.density = 1.0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.friction = 1.0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixDef.restitution = 0.1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var bBallbodyDef = new b2BodyDef;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallbodyDef.type = b2Body.b2_dynamicBody;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;fixDef.shape = new b2CircleShape(Math.random() + 30);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallbodyDef.position.x = Math.random() * 300;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallbodyDef.position.y = Math.random() * 300;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = new Object();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;obj.val = "Ball";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;bBallbodyDef.userData = obj;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallBody = world.CreateBody(bBallbodyDef).CreateFixture(fixDef); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; document.addEventListener("mousedown", handleMouseMove, true);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function handleMouseMove(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; isMouseDown = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; mouseX = e.clientX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mouseY = e.clientY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function redraw_world(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(isMouseDown)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; for (b = world.GetBodyList() ; b; b = b.GetNext()) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if( b.GetUserData() != null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(b.GetUserData().val == "Ball")&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var force = new b2Vec2(4000,4000);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var point = new b2Vec2(100,100);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b.ApplyForce(force, point);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; isMouseDown = false; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function update() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; redraw_world();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; world.Step(1 / 2, 5, 5);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; world.DrawDebugData();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; world.ClearForces();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/div&gt;
&lt;br /&gt;
Most of the code above is from online tutorials and I am sure you have come across it already if you are interested in Box2D, check the links in the Reference if you haven't. Well the bummers in this code was figuring out which body should be moved. Online there are a zillion questions posted on usage of GetUserData()/SetUserData(), even i posted one, but no definite answer for js&lt;br /&gt;
&lt;br /&gt;
Initially i was doing it as &lt;br /&gt;
&lt;div style="background-color: #cccccc;"&gt;
function addBouncingBall(){&lt;/div&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/div&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallbodyDef.userData = obj;&lt;/div&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallBody = world.CreateBody(bBallbodyDef).CreateFixture(fixDef); &amp;nbsp;// note:&amp;nbsp;bBallBody&amp;nbsp;is declared global&lt;/div&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bBallBody.SetUserData(obj);&lt;/div&gt;
&lt;div style="background-color: #cccccc;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; .... &lt;/div&gt;
&lt;br /&gt;
So&lt;br /&gt;
&lt;i style="background-color: white;"&gt;redraw_world()&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ... &amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(bBallBody.GetsUserData().val); &amp;nbsp;//&amp;nbsp;Was on the money, and it printed "Ball" to the console&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; for (b = world.GetBodyList() ; b; b = b.GetNext()) {&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(b.GetsUserData());&amp;nbsp; //returned null everytime.&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i style="background-color: white;"&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
Finally after much Googling and ogling, found out that the userdata can be assigned to the bodydef as follows, and that solved most&amp;nbsp; of the problems, &lt;br /&gt;
&lt;div style="background-color: #cccccc;"&gt;
bBallbodyDef.userData = obj;&lt;/div&gt;
&lt;br /&gt;
There is lack of documentation for javascript port of Box2D, but you can refer the documentation for Box2dFlash. They are almost the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
Resources:&lt;br /&gt;
&lt;a href="http://code.google.com/p/box2dweb/" target="_blank"&gt;Box2DWeb &lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://blog.sethladd.com/2011/08/box2d-orientation-for-javascript.html"&gt;http://blog.sethladd.com/2011/08/box2d-orientation-for-javascript.html&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://www.box2dflash.org/docs/2.1a/reference/" target="_blank"&gt;Box2dflash Documentation&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3292229206306111260-940585746972742509?l=html5gamingtutorial.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://html5gamingtutorial.blogspot.com/feeds/940585746972742509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/07/physics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/940585746972742509?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/940585746972742509?v=2'/><link rel='alternate' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/07/physics.html' title='Box2DWeb'/><author><name>Sridevi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUYFQHwzcSp7ImA9WhVVF0w.&quot;'><id>tag:blogger.com,1999:blog-3292229206306111260.post-1784485826945383287</id><published>2012-05-11T11:48:00.003+05:30</published><updated>2012-05-11T11:48:31.289+05:30</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-05-11T11:48:31.289+05:30</app:edited><title>Adding Event Handling to HTML5 Doc</title><content type='html'>We will covering how to add events to the html5 Doc&lt;br /&gt;
&lt;br /&gt;
Keyboard Controls&lt;br /&gt;
Iam using the jquery plugin &lt;a href="https://github.com/tzuryby/jquery.hotkeys" target="_blank"&gt;jquery.hotkeys plugin&lt;/a&gt; to add and remove handlers for 
keyboard events.This makes handling keyboard events across browsers much easier. &lt;br /&gt;
We can escape from writing code that looks like,&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;if (Netscape) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; use Netscape model&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;}&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;else if (Explorer) {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; use Microsoft model&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;}&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
In this example, we will be adding a simple object with Texture to the HTML5 doc and make it move based on the keyboard event.&lt;br /&gt;
&lt;br /&gt;
Creating an object and adding texture to it,&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&amp;nbsp;&lt;i&gt; // object player&lt;br /&gt;&amp;nbsp; var player= { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: "#00A",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x: 50,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y: 50,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: 20,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: 20&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw: function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.fillStyle = this.color;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.fillRect(this.x, this.y, this.width, this.height);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player&lt;/i&gt;&lt;i&gt;.sprite = Sprite("images/player.png");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player&lt;/i&gt;&lt;i&gt;.draw = function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.sprite.draw(canvas, this.x, this.y);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Adding Events to the object,&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;function update() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .....&amp;nbsp; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;// Add collision detection code here&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(keydown.left ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player.x -= 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(keydown.right ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player.x += 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(keydown.down ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player.y += 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(keydown.up ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;i&gt;player.y -= 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ....&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee;"&gt;
&lt;i&gt;}&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/i&gt; &lt;/div&gt;
&lt;br /&gt;
p.s. JavaScript is a language. jQuery is a framework built with JavaScript to
 help JavaScript programmers who are doing common web tasks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3292229206306111260-1784485826945383287?l=html5gamingtutorial.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://html5gamingtutorial.blogspot.com/feeds/1784485826945383287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/05/adding-event-handling-to-html5-doc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/1784485826945383287?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/1784485826945383287?v=2'/><link rel='alternate' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/05/adding-event-handling-to-html5-doc.html' title='Adding Event Handling to HTML5 Doc'/><author><name>Sridevi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkEMQ305fyp7ImA9WhVVEE4.&quot;'><id>tag:blogger.com,1999:blog-3292229206306111260.post-6283961054489192795</id><published>2012-05-03T10:35:00.001+05:30</published><updated>2012-05-03T14:14:42.327+05:30</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-05-03T14:14:42.327+05:30</app:edited><title>Hello World</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This blog is my notes as I learn to develop Games in HTML5. Like all good programmers, I'm beginning with the simple "Hello World". &lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
For this Chapter, you need to know two basic concepts,&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
1. Canvas will be the basic building block for all the games(with a graphic interface) you develop in HTML5.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
2. JavaScript does most of your dirty work.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
There are 2ways you can initialize the canvas, using the &amp;lt;canvas&amp;gt; element in HTML5, or thru Javascript, for this tutorial iam doing it thru Javascript.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The code can be broken as follows, &lt;/div&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Canvas Initialization&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var CANVAS_WIDTH = 480;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var CANVAS_HEIGHT = 320;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var canvasElement = $("&amp;lt;canvas width='" + CANVAS_WIDTH + "' height='" + CANVAS_HEIGHT + "'&amp;gt;&amp;lt;/canvas");&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var canvas = canvasElement.get(0).getContext("2d");&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;canvasElement.appendTo('body');&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
This initializes the canvas and adds it to the body of the HTML.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Game Loop&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var FPS = 30;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;setInterval(function() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update();&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw();&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, 1000/FPS);&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
The Frame rates refers to the speed at which the image is refreshed. The Game loop continuously redraws the graphics in the canvas to give effect of smooth transition of the objects being animated.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Draw and update&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var textX = 0;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;var textY = 0;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;function update() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; textX += 1;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textY += 0.5;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;function draw() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.clearRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.fillStyle = "#000"; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; canvas.fillText("Hello World!", textX , textY);&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
The update method gives the new position of the "Hello World" text, while the draw() method clears the old contents of the canvas and paints the new "Hello World" text in the new position.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Complete Code&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;lt;html&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Hello World Demo&amp;lt;/title&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;lt;/head&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;lt;body&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;Hello World Demo&amp;lt;/h1&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type='text/javascript'&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;lt;![CDATA[ &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var CANVAS_WIDTH = 480;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var CANVAS_HEIGHT = 320;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var FPS = 30;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var textX = 0;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var textY = 0;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var canvasElement = $("&amp;lt;canvas width='" + CANVAS_WIDTH + "' height='" + CANVAS_HEIGHT + "'&amp;gt;&amp;lt;/canvas");&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var canvas = canvasElement.get(0).getContext("2d");&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvasElement.appendTo('body');&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setInterval(function() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update();&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw();&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, 1000/FPS);&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; function update() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textX += 1;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textY += 0.5;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; function draw() {&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.clearRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.fillStyle = "#000"; &lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; canvas.fillText("Hello World!", textX , textY);&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; //]]&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="background-color: #eeeeee; color: black;"&gt;
&lt;i&gt;&amp;lt;/html&amp;gt;&lt;/i&gt;&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
My 2Cents, one thing I find most useful in writing HTML code is constant testing, its better to test the code after each change rather then do a zillion rollback later to find where the issue started.&lt;br /&gt;
&lt;br /&gt;
Reference&lt;br /&gt;
&lt;a href="http://www.html5rocks.com/en/tutorials/canvas/notearsgame/%20" target="_blank"&gt;http://www.html5rocks.com/en/tutorials/canvas/notearsgame/ &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3292229206306111260-6283961054489192795?l=html5gamingtutorial.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://html5gamingtutorial.blogspot.com/feeds/6283961054489192795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/05/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/6283961054489192795?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3292229206306111260/posts/default/6283961054489192795?v=2'/><link rel='alternate' type='text/html' href='http://html5gamingtutorial.blogspot.com/2012/05/hello-world.html' title='Hello World'/><author><name>Sridevi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>