Toggle navigation
Ican Bachors
stay_current_portrait
apps
device_hub
Project
whatshot
Labs
CODE
GALLERY
settings
Tools
dashboard
Blog
question_answer
Disqus
more_horiz
Privacy policy
translate
id
indonesia
english
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div id="manuk"></div> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.4.8/phaser.min.js"></script><script>// Initialize Phaser, and creates a 400x490px game var game = new Phaser.Game(400, 490, Phaser.AUTO, 'manuk'); // Creates a new 'main' state that will contain the game var mainState = { // Function called first to load all the assets preload: function() { // Change the background color of the game game.stage.backgroundColor = '#71c5cf'; // Load the bird sprite game.load.image('bird', 'data:image/png;base64,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'); // Load the pipe sprite game.load.image('pipe', 'data:image/png;base64,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'); }, // Fuction called after 'preload' to setup the game create: function() { // Set the physics system game.physics.startSystem(Phaser.Physics.ARCADE); // Display the bird on the screen this.bird = this.game.add.sprite(100, 245, 'bird'); // Add gravity to the bird to make it fall game.physics.arcade.enable(this.bird); this.bird.body.gravity.y = 1000; // Call the 'jump' Press the spacebar or double-tap to jump this.game.input.onTap.add(this.jump, this); // Create a group of 20 pipes this.pipes = game.add.group(); this.pipes.enableBody = true; this.pipes.createMultiple(20, 'pipe'); // Timer that calls 'addRowOfPipes' ever 1.5 seconds this.timer = this.game.time.events.loop(1500, this.addRowOfPipes, this); // Add a score label on the top left of the screen this.score = 0; this.labelScore = this.game.add.text(20, 20, "0", { font: "30px Arial", fill: "#ffffff" }); }, // This function is called 60 times per second update: function() { // If the bird is out of the world (too high or too low), call the 'restartGame' function if (this.bird.inWorld == false) this.restartGame(); // If the bird overlap any pipes, call 'restartGame' game.physics.arcade.overlap(this.bird, this.pipes, this.restartGame, null, this); }, // Make the bird jump jump: function() { // Add a vertical velocity to the bird this.bird.body.velocity.y = -350; }, // Restart the game restartGame: function() { // Start the 'main' state, which restarts the game game.state.start('main'); }, // Add a pipe on the screen addOnePipe: function(x, y) { // Get the first dead pipe of our group var pipe = this.pipes.getFirstDead(); // Set the new position of the pipe pipe.reset(x, y); // Add velocity to the pipe to make it move left pipe.body.velocity.x = -200; // Kill the pipe when it's no longer visible pipe.checkWorldBounds = true; pipe.outOfBoundsKill = true; }, // Add a row of 6 pipes with a hole somewhere in the middle addRowOfPipes: function() { var hole = Math.floor(Math.random()*5)+1; for (var i = 0; i < 8; i++) if (i != hole && i != hole +1) this.addOnePipe(400, i*60+10); this.score += 1; this.labelScore.text = this.score; }, }; // Add and start the 'main' state to start the game game.state.add('main', mainState); game.state.start('main'); </script> </body> </html>
Making the game Flappy Bird in HTML5 With Phaser
Feb 07, 14
0
1916
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <video id="video" controls preload="none" width="640" poster="http://media.w3.org/2010/05/sintel/poster.png" onloadedmetadata="$(this).trigger('video_really_ready')"> <source id='mp4' src="http://media.w3.org/2010/05/sintel/trailer.mp4" type='video/mp4' /> <source id='webm' src="http://media.w3.org/2010/05/sintel/trailer.webm" type='video/webm'/> <source id='ogv' src="http://media.w3.org/2010/05/sintel/trailer.ogv" type='video/ogg' /> </video> <hr> Time <input type="txt" id="capture_time" value="10"/> second<br> Width <input type="txt" id="capture_width" value="160"/> px<br> Height <input type="txt" id="capture_height" value="68"/> px<br> <input type="button" id="capture" value="Capture" /> Press play, and then start capturing <div id="screen"></div> <script type="text/javascript" src="//code.jquery.com/jquery-2.2.0.min.js"></script><script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script><script>var VideoSnapper = { /** * Capture screen as canvas * @param {HTMLElement} video element * @param {Object} options = width of screen, height of screen, time to seek * @param {Function} handle function with canvas element in param */ captureAsCanvas: function(video, options, handle) { // Create canvas and call handle function var callback = function() { // Create canvas var canvas = $('<canvas />').attr({ width: options.width, height: options.height })[0]; // Get context and draw screen on it canvas.getContext('2d').drawImage(video, 0, 0, options.width, options.height); // Seek video back if we have previous position if (prevPos) { // Unbind seeked event - against loop $(video).unbind('seeked'); // Seek video to previous position video.currentTime = prevPos; } // Call handle function (because of event) handle.call(this, canvas); } // If we have time in options if (options.time && !isNaN(parseInt(options.time))) { // Save previous (current) video position var prevPos = video.currentTime; // Seek to any other time video.currentTime = options.time; // Wait for seeked event $(video).bind('seeked', callback); return; } // Otherwise callback with video context - just for compatibility with calling in the seeked event return callback.apply(video); } }; $(function() { $('video').bind('video_really_ready', function() { var video = this; $('#capture').click(function() { var canvases = $('canvas'), t = $('#capture_time').val(), w = $('#capture_width').val(), h = $('#capture_height').val(); VideoSnapper.captureAsCanvas(video, { width: w, height: h, time: t }, function(canvas) { $('#screen').append(canvas); if (canvases.length == 4) canvases.eq(0).remove(); }) }); }); });</script> </body> </html>
Video Capture Using jQuery
Feb 07, 14
0
2279
First
Previous
4
5
6
keyboard_arrow_up