Calendario

Abril 2016
LunMarMierJueVierSabDom
 << <Dic 2017> >>
    123
45678910
11121314151617
18192021222324
252627282930 

Anuncio

¿Quién está en línea?

Miembro: 0
Visitante: 1

rss Sindicación

Anuncio de los artículos posteados en: Abril 2016

21 Avr 2016 

Xbox.com - Official Site | Xbox Canada


', prevArrow: '' ; ; $('.slick-console-scroller').ready(function () $('.slick-console-scroller').slick( // Console Rotator methods dots: false, arrows: false, autoplay: false, slidesToShow: 3, lazyLoad: 'ondemand', nextArrow: '', prevArrow: '', responsive: [ breakpoint: 768, settings: slidesToShow: 1, arrows: true, dots: true, autoplay: true, autoplaySpeed: 5000 ] ); ); $(document).ready(function () $('.news-rotator').slick( // News Rotator methods infinite: true, lazyLoad: 'ondemand', centerMode: true, slidesToShow: 1, dots: true, arrows: true, asNavFor: '.news-rotator-copy', nextArrow: '', prevArrow: '', responsive: [ breakpoint: 768, settings: centerMode: false ] ); $('.news-rotator-copy').slick( // News Rotator lower content section methods infinite: true, centerMode: true, slidesToShow: 1, dots: false, arrows: false, fade: true, adaptiveHeight: true, asNavFor: '.news-rotator' ); ); $(window).load(function () $(".lazyloadimage").each(function () if ($(this).attr("src").indexOf("data:") === 0) setTimeout($(this).attr("src", $(this).attr("data-src")), 25); ); );




Admin · 15555 vistas · Escribir un comentario
21 Avr 2016 

Why We Love Watch Dogs: A Video Game Review

The upcomingopen world action-adventure stealth game Watch Dogs, developed by Ubisoft for the PS3, Xbox 360, Wii U, PS4, and Xbox One, centers on the concept of information warfare, a truly fresh notion. Watch Dogs is set in a future Chicago enhanced and transformed by the Central Operating System (CtOS), a supercomputer which links all of the cities's infrastructure, banks, communications, and public security installations to one central hub. The supercomputer also contains information on Chicago's citizens. Though the CtOS has been highly beneficial to these citizens, it also makes the entire city vulnerable to exploitation by skilled computer hackers.

In the game the player takes control of just one such hacker, a former thug named Aiden Pearce, who can stealthily control the CtOS from a smartphone in the palm of his hand, accessing security cameras, stealing personal information, and controlling traffic lights as well as public transportation. In practice this allows Pearce to come out on top by causing distractions, escaping crime scenes, and even using his environment as a weapon. In a given assassination he can discreetly locate his target, trap him in a massive vehicle pileup, and can thenevade law enforcement bystopping and boarding a train or byquickly game cheats raising a bridge.



Of course an ability to hack the CtOS is not the only tool in Pearce's arsenal. Ubisoft Montreal's parternship with Ubisoft Reflections (the developers behing the award-winning Driver series) has given Watch Dogs a suite of more than 65 sleek and powerful vehicles. Pearce can of course break into cars with the greatest ease, providing the player with a rich variety of driving experiences as they race around in the streets of Chicago, pursuing targets or evading pursuers themselves.

In addition, Pearce is fully capable of bringing the fight to his enemies with an assortment of more than 30 weapons. Shaped by his crime days and desperate to protect his endangered family, already the victims of past violence, Pearce does not always need to rely on stealth to inflict his brand of justice on a corrupt system. Delivering devastating baton blows and engaging in thrillingly immersive shoot outs has never looked better than in Watch Dogs. Combat seemlessly blends stealth, parkour, and the mechanics of a cover-based third-person shooter.

Overall, Watch Dogs features an original storyline concept bundled in some truly amazing graphics.The new Disrupt Engine (Ubisoft's first next-gen engine was built specifically for the game) and Havok physics grant the player a fluid, dynamic world rendered with stunning realism, as well as allowing the same core game experience on each platform.Though these graphs will look particularly good on the next generation of consoles, the game was designed to be played on the PS3 and Xbox 360 with little sacrifice to the playing experience. With the fresh gameplay revealed at E3 2013, we are left to eagerly await Watch Dogs' 19 November 2013 release date (for North America).

for another "We Love" video game review, please see



Admin · 47 vistas · Escribir un comentario
21 Avr 2016 

Build Your First Game With HTML5



HTML5 is growing up faster than anyone could have imagined. Powerful and professional solutions are already being developed...even in the gaming world! Check out the hundreds ofHTML5 games on Envato Market.

Today, you'll make your first game using Box2D and HTML5's canvas tag.

What is Box2D?

Box2D is an open source and popular engine that simulates 2D physics for making games and applications. Primarily written in C++, it has been converted to numerous languages by community contributors.



With the same methods and objects, you have the ability to make your games' physics in many languages, such as Objective C (iPhone/iPad), Actionscript 3.0 (Web), HTML 5 (Web), etc.

Step 1 - Setting up your Project

To begin developing your demo, download the Box2D engine for HTML5 here. Next, create a new HTML file with the following structure (copy js and lib directories from box2d-js project to your game folder).



Now, you must insert the necessary files to run box2D into your HTML file:

<!--[if IE]><script src="lib/excanvas.js"></script><![endif]--> <script src="lib/prototype-1.6.0.2.js"></script> <!-- box2djs --> <script src='js/box2d/common/b2Settings.js'></script> <script src='js/box2d/common/math/b2Vec2.js'></script> <script src='js/box2d/common/math/b2Mat22.js'></script> <script src='js/box2d/common/math/b2Math.js'></script> <script src='js/box2d/collision/b2AABB.js'></script> <script src='js/box2d/collision/b2Bound.js'></script> <script src='js/box2d/collision/b2BoundValues.js'></script> <script src='js/box2d/collision/b2Pair.js'></script> <script src='js/box2d/collision/b2PairCallback.js'></script> <script src='js/box2d/collision/b2BufferedPair.js'></script> <script src='js/box2d/collision/b2PairManager.js'></script> <script src='js/box2d/collision/b2BroadPhase.js'></script> <script src='js/box2d/collision/b2Collision.js'></script> <script src='js/box2d/collision/Features.js'></script> <script src='js/box2d/collision/b2ContactID.js'></script> <script src='js/box2d/collision/b2ContactPoint.js'></script> <script src='js/box2d/collision/b2Distance.js'></script> <script src='js/box2d/collision/b2Manifold.js'></script> <script src='js/box2d/collision/b2OBB.js'></script> <script src='js/box2d/collision/b2Proxy.js'></script> <script src='js/box2d/collision/ClipVertex.js'></script> <script src='js/box2d/collision/shapes/b2Shape.js'></script> <script src='js/box2d/collision/shapes/b2ShapeDef.js'></script> <script src='js/box2d/collision/shapes/b2BoxDef.js'></script> <script src='js/box2d/collision/shapes/b2CircleDef.js'></script> <script src='js/box2d/collision/shapes/b2CircleShape.js'></script> <script src='js/box2d/collision/shapes/b2MassData.js'></script> <script src='js/box2d/collision/shapes/b2PolyDef.js'></script> <script src='js/box2d/collision/shapes/b2PolyShape.js'></script> <script src='js/box2d/dynamics/b2Body.js'></script> <script src='js/box2d/dynamics/b2BodyDef.js'></script> <script src='js/box2d/dynamics/b2CollisionFilter.js'></script> <script src='js/box2d/dynamics/b2Island.js'></script> <script src='js/box2d/dynamics/b2TimeStep.js'></script> <script src='js/box2d/dynamics/contacts/b2ContactNode.js'></script> <script src='js/box2d/dynamics/contacts/b2Contact.js'></script> <script src='js/box2d/dynamics/contacts/b2ContactConstraint.js'></script> <script src='js/box2d/dynamics/contacts/b2ContactConstraintPoint.js'></script> <script src='js/box2d/dynamics/contacts/b2ContactRegister.js'></script> <script src='js/box2d/dynamics/contacts/b2ContactSolver.js'></script> <script src='js/box2d/dynamics/contacts/b2CircleContact.js'></script> <script src='js/box2d/dynamics/contacts/b2Conservative.js'></script> <script src='js/box2d/dynamics/contacts/b2NullContact.js'></script> <script src='js/box2d/dynamics/contacts/b2PolyAndCircleContact.js'></script> <script src='js/box2d/dynamics/contacts/b2PolyContact.js'></script> <script src='js/box2d/dynamics/b2ContactManager.js'></script> <script src='js/box2d/dynamics/b2World.js'></script> <script src='js/box2d/dynamics/b2WorldListener.js'></script> <script src='js/box2d/dynamics/joints/b2JointNode.js'></script> <script src='js/box2d/dynamics/joints/b2Joint.js'></script> <script src='js/box2d/dynamics/joints/b2JointDef.js'></script> <script src='js/box2d/dynamics/joints/b2DistanceJoint.js'></script> <script src='js/box2d/dynamics/joints/b2DistanceJointDef.js'></script> <script src='js/box2d/dynamics/joints/b2Jacobian.js'></script> <script src='js/box2d/dynamics/joints/b2GearJoint.js'></script> <script src='js/box2d/dynamics/joints/b2GearJointDef.js'></script> <script src='js/box2d/dynamics/joints/b2MouseJoint.js'></script> <script src='js/box2d/dynamics/joints/b2MouseJointDef.js'></script> <script src='js/box2d/dynamics/joints/b2PrismaticJoint.js'></script> <script src='js/box2d/dynamics/joints/b2PrismaticJointDef.js'></script> <script src='js/box2d/dynamics/joints/b2PulleyJoint.js'></script> <script src='js/box2d/dynamics/joints/b2PulleyJointDef.js'></script> <script src='js/box2d/dynamics/joints/b2RevoluteJoint.js'></script> <script src='js/box2d/dynamics/joints/b2RevoluteJointDef.js'></script>

Yep, that's a huge number of HTTP requests!

Please note that, for deployment, it's highly recommended that you concatenate all of these resources into one script file.



Next, create two more scripts inside the /js/ folder, called "box2dutils.js" and "game.js".

box2dutils.js - it's a copy and paste from some demos that come with box2dlib, and is important for drawing functions (I will also explain some important parts here). game.js - the game, itself; this is where we create the platforms, the player, apply the keyboard interactions, etc.

Copy and paste the following code into box2dutils.js. Don't worry! I'll explain it bit by bit!

function drawWorld(world, context) for (var j = world.m_jointList; j; j = j.m_next) drawJoint(j, context); for (var b = world.m_bodyList; b; b = b.m_next) for (var s = b.GetShapeList(); s != null; s = s.GetNext()) drawShape(s, context); function drawJoint(joint, context) var b1 = joint.m_body1; var b2 = joint.m_body2; var x1 = b1.m_position; var x2 = b2.m_position; var p1 = joint.GetAnchor1(); var p2 = joint.GetAnchor2(); context.strokeStyle = '#00eeee'; context.beginPath(); switch (joint.m_type) case b2Joint.e_distanceJoint: context.moveTo(p1.x, p1.y); context.lineTo(p2.x, p2.y); break; case b2Joint.e_pulleyJoint: // TODO break; default: if (b1 == world.m_groundBody) context.moveTo(p1.x, p1.y); context.lineTo(x2.x, x2.y); else if (b2 == world.m_groundBody) context.moveTo(p1.x, p1.y); context.lineTo(x1.x, x1.y); else context.moveTo(x1.x, x1.y); context.lineTo(p1.x, p1.y); context.lineTo(x2.x, x2.y); context.lineTo(p2.x, p2.y); break; context.stroke(); function drawShape(shape, context) context.strokeStyle = '#000000'; context.beginPath(); switch (shape.m_type) case b2Shape.e_circleShape: var circle = shape; var pos = circle.m_position; var r = circle.m_radius; var segments = 16.0; var theta = 0.0; var dtheta = 2.0 * Math.PI / segments; // draw circle context.moveTo(pos.x + r, pos.y); for (var i = 0; i < segments; i++) var d = new b2Vec2(r * Math.cos(theta), r * Math.sin(theta)); var v = b2Math.AddVV(pos, d); context.lineTo(v.x, v.y); theta += dtheta; context.lineTo(pos.x + r, pos.y); // draw radius context.moveTo(pos.x, pos.y); var ax = circle.m_R.col1; var pos2 = new b2Vec2(pos.x + r * ax.x, pos.y + r * ax.y); context.lineTo(pos2.x, pos2.y); break; case b2Shape.e_polyShape: var poly = shape; var tV = b2Math.AddVV(poly.m_position, b2Math.b2MulMV(poly.m_R, poly.m_vertices[0])); context.moveTo(tV.x, tV.y); for (var i = 0; i < poly.m_vertexCount; i++) var v = b2Math.AddVV(poly.m_position, b2Math.b2MulMV(poly.m_R, poly.m_vertices[i])); context.lineTo(v.x, v.y); context.lineTo(tV.x, tV.y); break; context.stroke(); function createWorld() var worldAABB = new b2AABB(); worldAABB.minVertex.Set(-1000, -1000); worldAABB.maxVertex.Set(1000, 1000); var gravity = new b2Vec2(0, 300); var doSleep = true; var world = new b2World(worldAABB, gravity, doSleep); return world; function createGround(world) var groundSd = new b2BoxDef(); groundSd.extents.Set(1000, 50); groundSd.restitution = 0.2; var groundBd = new b2BodyDef(); groundBd.AddShape(groundSd); groundBd.position.Set(-500, 340); return world.CreateBody(groundBd) function createBall(world, x, y) var ballSd = new b2CircleDef(); ballSd.density = 1.0; ballSd.radius = 20; ballSd.restitution = 1.0; ballSd.friction = 0; var ballBd = new b2BodyDef(); ballBd.AddShape(ballSd); ballBd.position.Set(x,y); return world.CreateBody(ballBd); function createBox(world, x, y, width, height, fixed, userData) if (typeof(fixed) == 'undefined') fixed = true; var boxSd = new b2BoxDef(); if (!fixed) boxSd.density = 1.0; boxSd.userData = userData; boxSd.extents.Set(width, height); var boxBd = new b2BodyDef(); boxBd.AddShape(boxSd); boxBd.position.Set(x,y); return world.CreateBody(boxBd) Step 2 - Developing the Game

Open the index.html file that you previously created, and add a canvas element (600x400) within the body element. This is where we'll work with the HTML5 drawing API:

<canvas id="game" width='600' height='400'></canvas>

Also, while you're here, reference game.js and box2dutils.js.

<script src='js/box2dutils.js'></script> <script src='js/game.js'></script>

That'll do it for the HTML! Let's work on the fun JavaScript now!

Open game.js, and insert the code below:

// some variables that we gonna use in this demo var initId = 0; var player = function() this.object = null; this.canJump = false; ; var world; var ctx; var canvasWidth; var canvasHeight; var keys = []; // HTML5 onLoad event Event.observe(window, 'load', function() world = createWorld(); // box2DWorld ctx = $('game').getContext('2d'); // 2 var canvasElm = $('game'); canvasWidth = parseInt(canvasElm.width); canvasHeight = parseInt(canvasElm.height); initGame(); // 3 step(); // 4 // 5 window.addEventListener('keydown',handleKeyDown,true); window.addEventListener('keyup',handleKeyUp,true); );Box2DWorld - that's why we're here

Okay, let's figure out what this chunk of code does!

Box2DWorld is one of the classes that is made available, via the core of box2d. Its function is simple: combine everything into one class. In box2DWorld, you have the bodies definition and collisions manager of your game or application.

Keep the game.js and box2dutils.js files open, and search for the createWorld() function within box2dutils.js.

function createWorld() // here we create our world settings for collisions var worldAABB = new b2AABB(); worldAABB.minVertex.Set(-1000, -1000); worldAABB.maxVertex.Set(1000, 1000); // set gravity vector var gravity = new b2Vec2(0, 300); var doSleep = true; // init our world and return its value var world = new b2World(worldAABB, gravity, doSleep); return world;

It's quite simple to create the box2DWorld.

Back to game.js

Refer to the commented numbers in the two blocks of code above. On number two, we retrieve the canvas element's context by using the selector API (looks like jQuery or MooTools selectors, don't they?). On number three, we have a new interesting function: initGame(). This is where we create the scenery.

Copy and paste the code below into game.js, and then we'll review it together.

function initGame() // create 2 big platforms createBox(world, 3, 230, 60, 180, true, 'ground'); createBox(world, 560, 360, 50, 50, true, 'ground'); // create small platforms for (var i = 0; i < 5; i++) createBox(world, 150+(80*i), 360, 5, 40+(i*15), true, 'ground'); // create player ball var ballSd = new b2CircleDef(); ballSd.density = 0.1; ballSd.radius = 12; ballSd.restitution = 0.5; ballSd.friction = 1; ballSd.userData = 'player'; var ballBd = new b2BodyDef(); ballBd.linearDamping = .03; ballBd.allowSleep = false; ballBd.AddShape(ballSd); ballBd.position.Set(20,0); player.object = world.CreateBody(ballBd); <p> Inside <code>box2dutils.js</code>, we've created a function, called <code>createBox</code>. This creates a static rectangle body. </p> function createBox(world, x, y, width, height, fixed, userData) if (typeof(fixed) == 'undefined') fixed = true; //1 var boxSd = new b2BoxDef(); if (!fixed) boxSd.density = 1.0; //2 boxSd.userData = userData; //3 boxSd.extents.Set(width, height); //4 var boxBd = new b2BodyDef(); boxBd.AddShape(boxSd); //5 boxBd.position.Set(x,y); //6 return world.CreateBody(boxBd) Box2DBody

A Box2DBody has some unique characteristics:

It can be static (not affected by collisions impacts), kinematic (it isn't affected by collisions, but it can be moved by your mouse, for example), or dynamic (interacts with everything) Must have a shape definition, and should indicate how the object appears May have more than one fixture, which indicates how the object will interact with collisions Its position is set by the center of your object, not the left top edge as many other engines do. Reviewing the code:Here, we create one shape definition that will be a square or rectangle, and setup its density (how often it gonna be moved, or rotate by forces). We setup the userData, usually you setup graphics objects here, but in this example, I just setup strings that will be the identifier of the type of the object for collisions. This parameter doesn't affect physics algorithms. Setup half of the size of my box (it's a line from the position point, or the center point of the object to a corner) We create the body definition, and add to it the box shape definition. Setup the position. Create the body in the world and return its value. Creating the Player Ball Body

I've coded the player (ball) directly in the game.js file. It follows the same sequence of creating boxes, but, this time, it's a ball.

var ballSd = new b2CircleDef(); ballSd.density = 0.1; ballSd.radius = 12; ballSd.restitution = 0.5; ballSd.friction = 1; ballSd.userData = 'player'; var ballBd = new b2BodyDef(); ballBd.linearDamping = .03; ballBd.allowSleep = false; ballBd.AddShape(ballSd); ballBd.position.Set(20,0); player.object = world.CreateBody(ballBd);

So how do we create a body, step by step?

Create the shape, fixture and sensor definition Create the body definition Add into the body your shape, fixtures or sensors (not explained in this article) Create the body in the world Box2DCircle

As I noted earlier, this follows the same creation process of a box, but now you must set some new parameters.

radius - This is the length of a line from the center of the circle to any point on its edge. restitution - How the ball will lose, or gain force when collides with other body. friction - How the ball will roll. Box2DBody - More Propertiesdamping is used to reduce the velocity of the body - there's angular damping and linear damping. sleep in box2D, bodies can sleep to solve performance issues. For example, let's suppose you are developing a platform game, and the level is defined by a 6000x400 screen. Why do you need to perform physics for objects that are off screen? You don't; that's the point! So the correct choice is to put them to sleep, and improve your game's performance.

We've already created our world; you can test the code that you have so far. You'll see the player falling above the west platform.

Now, if you tried to run the demo, you should be wondering, why is the page as barren as white paper?



Always remember: Box2D doesn't render; it only calculates physics.

Step 3 - Rendering Time

Next, let's render the box2DWorld.

Open your game.js script, and add the following code:

function step() var stepping = false; var timeStep = 1.0/60; var iteration = 1; // 1 world.Step(timeStep, iteration); // 2 ctx.clearRect(0, 0, canvasWidth, canvasHeight); drawWorld(world, ctx); // 3 setTimeout('step()', 10); What we accomplish here:Instructed box2dWorld to perform physics simulations Cleared canvas screen and draw again Execute the step() function again in ten milliseconds

With this bit of code, we are now working with physics and drawing. You can test yourself, and watch for a falling ball, as demonstrated below:

drawWorld in box2dutils.jsfunction drawWorld(world, context) for (var j = world.m_jointList; j; j = j.m_next) drawJoint(j, context); for (var b = world.m_bodyList; b; b = b.m_next) for (var s = b.GetShapeList(); s != null; s = s.GetNext()) drawShape(s, context);

What we've written above is a debug function that draws our world into the canvas, using the graphics API provided by HTML5's Canvas API.

The first loop draws all joints. We didn't use joints in this article. They are a bit complex for a first demo, but, nonetheless, they're essential for your games. They allow you to create very interesting bodies.

The second loop draws all bodies, which is why we're here!

function drawShape(shape, context) context.strokeStyle = '#000000'; context.beginPath(); switch (shape.m_type) case b2Shape.e_circleShape: var circle = shape; var pos = circle.m_position; var r = circle.m_radius; var segments = 16.0; var theta = 0.0; var dtheta = 2.0 * Math.PI / segments; // draw circle context.moveTo(pos.x + r, pos.y); for (var i = 0; i < segments; i++) var d = new b2Vec2(r * Math.cos(theta), r * Math.sin(theta)); var v = b2Math.AddVV(pos, d); context.lineTo(v.x, v.y); theta += dtheta; context.lineTo(pos.x + r, pos.y); // draw radius context.moveTo(pos.x, pos.y); var ax = circle.m_R.col1; var pos2 = new b2Vec2(pos.x + r * ax.x, pos.y + r * ax.y); context.lineTo(pos2.x, pos2.y); break; case b2Shape.e_polyShape: var poly = shape; var tV = b2Math.AddVV(poly.m_position, b2Math.b2MulMV(poly.m_R, poly.m_vertices[0])); context.moveTo(tV.x, tV.y); for (var i = 0; i < poly.m_vertexCount; i++) var v = b2Math.AddVV(poly.m_position, b2Math.b2MulMV(poly.m_R, poly.m_vertices[i])); context.lineTo(v.x, v.y); context.lineTo(tV.x, tV.y); break; context.stroke();

We're looping through every vertices of the object and drawing it with lines (context.moveTo and context.lineTo). Now, it's useful to have an example... but not so useful in practice. When you use graphics, you only need to pay attention to the bodies' positioning. You don't need to loop vertices, as this demo does.

Step 4 - Interactivity

A game without interactivity is a movie, and a movie with interactivity is a game.



Let's develop the keyboard arrow functionality to jump and move the ball.

Add the following code to your game.js file:

function handleKeyDown(evt) keys[evt.keyCode] = true; function handleKeyUp(evt) keys[evt.keyCode] = false; // disable vertical scrolling from arrows :) document.onkeydown=function()return event.keyCode!=38 && event.keyCode!=40

With handleKeyDown and handleKeyUp, we setup an array which tracks every key the user types. With document.onkeydown, we disable the browser's native vertical scrolling function for up and down arrows. Have you ever played an HTML5 game, and when you jump, the player, enemies and objects go off screen? That won't be an issue now.

Add this next bit of code to the beginning of your step() function:

handleInteractions();

And outside, declare the function:

function handleInteractions() // up arrow // 1 var collision = world.m_contactList; player.canJump = false; if (collision != null) if (collision.GetShape1().GetUserData() == 'player' // 2 var vel = player.object.GetLinearVelocity(); // 3 if (keys[38] && player.canJump) vel.y = -150; // 4 // left/right arrows if (keys[37]) vel.x = -60; else if (keys[39]) vel.x = 60; // 5 player.object.SetLinearVelocity(vel);

The most complicated piece of the code above is the first one, where we check for a collision, and write some conditions to determine if the shape1 or the shape2 is the player. If it is, we verify if shape1 or shape2 is a ground object. Again, if so, the player is colliding with the ground. Next, we check if the player is above the ground. If that's the case, then the player can jump.

On the second commented line (2), we retrieve the LinearVelocity of the player.

The third and forth commented regions verify if arrows are being pressed, and adjust the velocity vector, accordingly.

In the fifth region, we setup the player with the new velocity vector.

The interactions are now done! But there's no objective, We just jump, jump, jump and jump!

Step 5 - "You Win" Message

Add the code below to the beginning of your LinearVelocity function:

if (player.object.GetCenterPosition().y > canvasHeight) player.object.SetCenterPosition(new b2Vec2(20,0),0) else if (player.object.GetCenterPosition().x > canvasWidth-50) showWin(); return; The first condition determines if the player falls, and should be transported back to the start point (above the west platform). The second condition checks if the player is above the second platform, and won the game. Here's the showWin() function. function showWin() ctx.fillStyle = '#000'; ctx.font = '30px verdana'; ctx.textBaseline = 'top'; ctx.fillText('Ye! you made it!', 30, 0); ctx.fillText('thank you, andersonferminiano.com', 30, 30); ctx.fillText('@andferminiano', 30, 60);

And that's it! You've just completed your first simple game with HTML5 and Box2D. Congratulations!

If you need a simpler solution, you could check out the selection of HTML5 games on Envato Market, many of which come with source code for you to investigate and customize to fit your own needs.

Admin · 7674 vistas · Escribir un comentario
21 Avr 2016 

Video Game Cheats, Codes, Cheat Codes, Walkthroughs, Guides, FAQs, Reviews, Previews, News, Videos for Xbox 360, PS3, PC, Xbox One, PS4, Wii U, 3DS, PS Vita, Wii, PS2, PSP, DS, and more from Cheat Code Central.

Hottest Cheats

GTA 5 Cheats, Codes, Cheat Codes, Walkthrough - Xbox 360

GTA 5 Cheats, Codes, Cheat Codes, Walkthrough - PS3

GTA 5 Cheats, Codes, Cheat Codes, Walkthrough - PC

GTA 5 Cheats, Codes, Cheat Codes, Walkthrough - Xbox One

GTA 5 Cheats, Codes, Cheat Codes, Walkthrough - PS4

Fallout 4 Cheats - PS4 | Xbox One | PC

Tom Clancy's The Division Cheats - PS4 | Xbox One | PC

Dark Souls 3 Cheats - PS4 | Xbox One | PC

Ratchet And Clank Cheats - PS4

Quantum Break Cheats - Xbox One | PC

Hitman Cheats - PS4 | Xbox One | PC

Street Fighter 5 Cheats - PS4 | PC

Far Cry Primal Cheats - PS4 | Xbox One | PC

EA Sports UFC 2 Cheats - PS4 | Xbox One

Just Cause 3 Cheats - PS4 | Xbox One | PC

Lego Marvel's Avengers Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3 | Wii U

Naruto Shippuden: Ultimate Ninja Storm 4 Cheats - PS4 | Xbox One | PC

Plants vs. Zombies: Garden Warfare 2 Cheats - Xbox One | PS4 | PC

XCOM 2 Cheats - PC

Fire Emblem Fates: Birthright Cheats - 3DS | Fire Emblem Fates: Conquest Cheats - 3DS

Hyrule Warriors Legends Cheats - 3DS

Tom Clancy's Rainbow Six: Siege Cheats - PS4 | Xbox One | PC

Star Wars: Battlefront Cheats - PS4 | Xbox One | PC

Call Of Duty: Black Ops 3 Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Halo 5: Guardians Cheats - Xbox One

Rise Of The Tomb Raider Cheats - Xbox One | Xbox 360

Metal Gear Solid 5: The Phantom Pain Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Assassin's Creed: Syndicate Cheats - PS4 | Xbox One | PC

Xenoblade Chronicles X Cheats - Wii U

WWE 2K16 Cheats - PS4 | Xbox One | Xbox 360 | PS3

StarCraft 2: Legacy Of The Void Cheats - PC

Pokemon Super Mystery Dungeon Cheats - 3DS

Yo-Kai Watch Cheats - 3DS

Need For Speed Cheats - PS4 | Xbox One | PC

Destiny: The Taken King Cheats - PS4 | Xbox One | Xbox 360 | PS3

Lego Dimensions Cheats - PS4 | Xbox One | Xbox 360 | PS3 | Wii U

The Legend Of Zelda: Tri Force Heroes Cheats - 3DS

Mad Max Cheats - PS4 | Xbox One | PC

Super Mario Maker Cheats - Wii U

NBA 2K16 Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Forza Motorsport 6 Cheats - Xbox One



FIFA 16 Cheats - PS4 | Xbox One | Xbox 360 | PS3

The Witcher 3: Wild Hunt Cheats - PS4 | Xbox One | PC

Batman: Arkham Knight Cheats - PS4 | Xbox One | PC

Mortal Kombat X Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Lego Jurassic World Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3 | Wii U | PS Vita

Dying Light Cheats - Xbox One | PS4 | PC

Splatoon Cheats - Wii U

Evolve Cheats - PS4 | Xbox One | PC

Battlefield: Hardline Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Dragon Ball: Xenoverse Cheats - PS4 | Xbox One | PC | Xbox 360 | PS3

Resident Evil: Revelations 2 Cheats - Xbox One | PS4 | PC | Xbox 360 | PS3

Bloodborne Cheats - PS4

Assassin's Creed: Unity Cheats - Xbox One | PS4 | PC

Assassin's Creed: Rogue Cheats - Xbox 360 | PS3

Far Cry 4 Cheats - Xbox One | PS4 | PC | Xbox 360 | PS3

Dragon Age: Inquisition Cheats - Xbox One | PS4 | PC | Xbox 360 | PS3

Call Of Duty: Advanced Warfare Cheats - Xbox One | PS4 | PC | Xbox 360 | PS3

Sunset Overdrive Cheats - Xbox One

Lego Batman 3: Beyond Gotham Cheats - Xbox One | PS4 | Xbox 360 | PS3 | PC | Wii U | PS Vita

Destiny Cheats - Xbox 360 | PS3 | Xbox One | PS4

The Sims 4 Cheats - PC

Borderlands: The Pre-Sequel Cheats - Xbox 360 | PS3 | PC

Pokemon Alpha Sapphire Cheats - 3DS | Pokemon Omega Ruby Cheats - 3DS

Super Smash Bros. Cheats - Wii U | 3DS

Saints Row 4 Cheats - Xbox One | PS4 | PC | Xbox 360 | PS3

The Evil Within Cheats - Xbox 360 | PS3 | PC | Xbox One | PS4

GTA San Andreas Cheats - Xbox 360 | PS2 | Xbox

Minecraft - PC | Xbox 360 | PS3 | Xbox One | PS4

Dark Souls 2 Cheats - Xbox 360 | PS3 | PC

Mario Kart 8 Cheats - Wii U

Super Mario 3D World Cheats - Wii U

Pokemon X Cheats - 3DS | Pokemon Y Cheats - 3DS

Diablo 3 Cheats - Xbox 360 | PS3 | PC

Animal Crossing: New Leaf Cheats - 3DS

Torchlight 2 Cheats - PC

Saints Row 3 Cheats - Xbox 360 | PS3 | PC

The Elder Scrolls 5: Skyrim Cheats - Xbox 360 | PS3 | PC

Fallout: New Vegas Cheats - Xbox 360 | PS3 | PC

Red Dead Redemption Cheats - Xbox 360 | PS3

The Sims 3 Cheats - PC

GTA 4 Cheats - Xbox 360 | PS3 | PC

Admin · 32 vistas · Escribir un comentario
20 Avr 2016 

Articles Category: Inspirational - ArticleSnatch.com

Be Tough On Yourself, Why Do You Need To Be Tough On Yourself? By : Sandy Z

What motivates us? Is it positive reinforcement or negative consequences? Do we pay our taxes because we want to or because we are afraid of the IRS? I think the later. No matter how much we try to believe positive reinforcement works, it is usually the negative consequences that gets us to move.

Tags: get tough, tough on yourself, be tough, get over yourselfGet Over Yourself, If You Want To Have Success, Have Grit, Not Intelligence, So Get Over Yourself By : Sandy Z

What prepares you more for life, grit of intelligence? Intelligence will only get you so far but grit will take you all the way. You need a dogged determination in order to have the things you want in life.

Tags: Get over yourself, getting over yourself, get over myselfGet Over Yourself, Join Toastmasters, The Best Way To Get Over Yourself By : Sandy Z

Do you want to be a better communicator or better leader? Here is how you do it; join Toastmasters!

Tags: Get over yourself, getting over yourself, get over myselfGet Over Yourself, Be The Leader You Are Supposed To Be So Get Over Yourself By : Sandy Z

Are you a leader that connects with others? In order to be a great leader you have to be a great connector. How do you connect? John Maxwell, the person that leaders go to in order to become a better leader, tells you how to connect in his book "Everyone Communicates, Few Connect."

Tags: Get over yourself, getting over yourself, get over myselfGet Over Yourself, Be Not Do, And Get Over Yourself By : Sandy Z

Are you being or just doing. We are called human beings, not humans doing. Whenever we start something new we want to do the best we can. We do one thing, then another, then another, in hopes we will finally get it right. Why not become what we want to be and then we will automatically do the right thing to build our business, become a top sales person, or be a better partner to our spouse.

Tags: Get over yourself, getting over yourself, get over myselfGet Over Yourself, Light A Fire, Get Rid Of The Dead Wood, And Get Over Yourself By : Sandy Z

Sometimes we want to succeed but our lives seem so cluttered. We need to just say "get over yourself" and get rid of the things that clutter it. Perhaps it's a relationship or a habit that we have that clutters our lives. Well get rid of the dead wood and do the things you know you must do.

Tags: Get over yourself, getting over yourself, get over myselfGet Over Yourself, Make Small Changes To Make Big Changes And Get Over Yourself By : Sandy Z

If you want to be successful in a home-based business you must make changes. Many times it is much easier to make the small changes necessary and over time the big changes will come. That's a way to reprogram our brains without blowing them up.

Tags: Get over yourself, getting over yourself, get over myself *7* Mindsets Of Super Achievers Exposed! By : John Di Lemme

Quick summary of the motivational teaching, *7* MINDSETS of Super Achievers EXPOSED!, by John Di Lemme.

Tags: John Di Lemme, success, self improvement, motivationHoroscope Reading Through Miracle In Tangible Existence By : Quyen Nguyen

Info from Horoscope Reading and 12 Zodiac signs let humans know their inborn archetypes to grow well. Based on birth date, check out your sign of the Zodiac with personalized Birth Chart!

Tags: zodiac sign, horoscope, astrological report, birth chartSimplifying Necessary Factors Of Dehumidifier By : Emily Warden

For deflecting the water you can also make use of deflectors for all downspouts that empty water to the collecting zone or next to the house, but not in the premises o ...

Tags: dehumidifiers, recalled dehumidifiers, industrial dehumidifier

Acquired Questions About Video Games? Try These Tricks And Tips! By : Latesha Miltenberger

Tags: candy crush cheats, candy crush saga hack, candy crush cheats

Symptoms Of Prostate Cancer By : Rubin Hines

Tags: symptoms 4 prostate cancer, stage 4 prostate cancer, treating the stage 4 prostate cancer

How Destiny Manifested Her Fantasy By : Marie Bradley

This is a delightful fantasy that revolves around magic and manifesting. If you've ever wanted something or someone so badly that even the thought of it obsessed your every working hour, this is a story you will definitely be able to relate to. It's the wonderful story of how one girl mistakenly stumbles upon a method of manifesting the man she loves into her life.



Tags: fantasy, magic, manifesting, visulization, new age A Brief Good Reputation For Liposuction By : Alec Alfredo

Like the majority of cosmetic surgery methods, liposuction has existed for several years, but merely has developed and be progressively sophisticated with the development of new abilities, techniques, and technology. The very first ever attempt for an appearance toning or body fat removal surgery was believed to stay in the first 1920's and ended quite disastrously using the patient contracting gangrene. It required nearly half a century for that procedure to begin to trap on again. In...

Tags: liposuction surgeons ny, manhattan liposuction surgeons, liposuctionGive Joy And Excitement To The Faces Of Children As A Charity On This Christmas By : James Tennyson

Many of us always think about helping the needy and the one who can"t fulfill their basic necessities of bread, clothing and shelter.

Tags: children's letters to Santa, Christmas charityBecome The Master Of Your Life With Exclusive Leadership Academy By : John Douglas

In essence if we want to master our lives we must control our daily thoughts and actions it"s not what we do once in a while that determines our success in life but the small, incremental consistent actions we perform daily over time that shape our lives and determine our future.

Tags: John Douglas, Exclusive Leadership Academy, ResultsBeautifully Crafted Letters Dedicated To Santa By : James Tennyson

Children are the gifts of god and letters are the messages of love. And here every time children are sending messages to Santa for the fulfillment of their needs and dreams.

Tags: letter to santa claus, santa lettersPirater Un Compte Hotmail By : Edmundo Longo

Despite exactly what a lot of may well feel, pirater mot de passe hotmail established fact all over hundreds of countries everywhere. pirater un compte hotmail has existed for many hundreds of years possesses a critical this means inside the life of the many. It becomes safe to help presume that comment pirater un compte hotmail are going to be around for a this candy crush saga cheat rocks long time and also have a huge have an effect on your day-to-day lives of numerous men and women.

Tags: pirater mot de passe hotmail, pirater mot de passe hotmail, pirater un compte hotmailUnderstanding The Real Message That Christmas Conveys To Us By : James Tennyson

When we even say the word Christmas there is sense of happiness that touches our heart. It was a kind of festival that we used to wait earnestly for since childhood.

Tags: children's letters to Santa, post office letters to SantaJohn Douglas Outlines Life"s Two Choices By : John Douglas

ohn Douglas, director of Exclusive Leadership Academy addresses that each of us has two distinct choices to make about what we will do with our lives. The first choice we can make is to be less than we have the capacity to be. And the second choice? To do all we can!



Tags: Choice, Success, Transformation, Results, Breakthrough, Business CoachingDetails Of Christmas Decorations Described By : Domingo Fitch

t have to be garish to be colourful: if a jolly Father Christmas ho-ho-ho-ing beside a reindeer isn. Blend 1 drop each of cinnamon and clove and 2 drops each of orange ...

Tags: online psychology master degree, san rafael hotels, seo web design5 Games Like Temple Run By : Jonelle Rickel

Your only weapon in this realistic 3D arcade hunting simulation can be a high powered rifle by using a this candy crush saga cheat rocks zoom breadth. The lot of people think iPads are tedious. Some websites are about offering free stuffs.

Tags: clash of clans hack, clash of clans hack, clash of clans hackZenjo Video Game Assessment By : Dann Bonds

My site ... jeu Prizee

Tags: prizee jeton gratuit, jeton gratuit prizee, prizee triche

Professional Speakers Create Magic By Their Words! By : Mike

Make your meetings, shows and other useful events more successful with the help of professional speakers. They know to create magical moments with the help of their speeches. Event success completely depends on the efficiency of your speaker.

Tags: motivational speakers political speakersThe Newest Designs And Colors Of Sweaters At Our Page By : Mathew Main

Cashmere sweaters are a great option for those people who are thinking about buying or gifting clothes that speak of style and comfort. Cashmere sweaters are popular a ...

Tags: SweaterFashionOnline, www.sweaterfashiononline.com[1][2][3][4][5][6][7][8][9][10]&raquo

Site Navigation:ArticleSnatch Authors:For Publishers:For Everyone:
Admin · 44 vistas · Escribir un comentario

Página precedente  1, 2, 3, 4, 5, 6, 7, 8, 9  Página siguiente