Build games as easily as you play them — join the Phaser Beam waitlist for Early Access.
var config = { type: Phaser.WEBGL, width: 800, height: 600, backgroundColor: '#2d2d2d', parent: 'phaser-example', scene: { preload: preload, create: create, update: update } }; var div = document.createElement('div'); div.innerHTML = 'PRESS SPACE TO TAKE SNAPSHOT
'; document.body.appendChild(div); var time = 0; var snapHistory = []; var graphics; var graphicsPath = []; var isMouseDown = false; var isKeyDown = false; var game = new Phaser.Game(config); function preload () { this.load.image('myImage', 'assets/sprites/phaser1.png'); this.load.glsl('shader0', 'assets/shaders/shader0.frag'); } function create () { for (var i = 0; i < 5; ++i) { var image = this.add.image(Math.random() * 800, Math.random() * 600, 'myImage'); } graphics = this.add.graphics({x: 0, y: 0}); game.canvas.onmousedown = function (e) { isMouseDown = true; graphics.clear(); graphicsPath.length = 0; }; game.canvas.onmouseup = function (e) { isMouseDown = false; }; game.canvas.onmousemove = function (e) { var mouseX = e.clientX - game.canvas.offsetLeft; var mouseY = e.clientY - game.canvas.offsetTop; if (isMouseDown) graphicsPath.push({x: mouseX, y: mouseY}); }; window.onkeydown = function (e) { if (e.keyCode === 32 && !isKeyDown) { game.renderer.snapshot(function (image) { image.style.width = '160px'; image.style.height = '120px'; image.style.paddingLeft = '2px'; snapHistory.push(image); console.log('snap!'); document.body.appendChild(image); }); isKeyDown = true; } }; window.onkeyup = function (e) { if (e.keyCode === 32) { isKeyDown = false; } }; } function update () { var length = graphicsPath.length; graphics.clear(); graphics.lineStyle(10.0, 0xFFFF00, 1.0); graphics.beginPath(); for (var i = 0; i < length; ++i) { var node = graphicsPath[i]; if (i !== 0) { graphics.lineTo(node.x, node.y); } else { graphics.moveTo(node.x, node.y); } } graphics.strokePath(); graphics.closePath(); time += 0.01; }
var config = {
type: Phaser.WEBGL,
width: 800,
height: 600,
backgroundColor: '#2d2d2d',
parent: 'phaser-example',
scene: {
preload: preload,
create: create,
update: update
}
};
var div = document.createElement('div');
div.innerHTML = 'PRESS SPACE TO TAKE SNAPSHOT
';
document.body.appendChild(div);
var time = 0;
var snapHistory = [];
var graphics;
var graphicsPath = [];
var isMouseDown = false;
var isKeyDown = false;
var game = new Phaser.Game(config);
function preload () {
this.load.image('myImage', 'assets/sprites/phaser1.png');
this.load.glsl('shader0', 'assets/shaders/shader0.frag');
}
function create ()
{
for (var i = 0; i < 5; ++i)
{
var image = this.add.image(Math.random() * 800, Math.random() * 600, 'myImage');
}
graphics = this.add.graphics({x: 0, y: 0});
game.canvas.onmousedown = function (e) {
isMouseDown = true;
graphics.clear();
graphicsPath.length = 0;
};
game.canvas.onmouseup = function (e) {
isMouseDown = false;
};
game.canvas.onmousemove = function (e) {
var mouseX = e.clientX - game.canvas.offsetLeft;
var mouseY = e.clientY - game.canvas.offsetTop;
if (isMouseDown)
graphicsPath.push({x: mouseX, y: mouseY});
};
window.onkeydown = function (e)
{
if (e.keyCode === 32 && !isKeyDown)
{
game.renderer.snapshot(function (image) {
image.style.width = '160px';
image.style.height = '120px';
image.style.paddingLeft = '2px';
snapHistory.push(image);
console.log('snap!');
document.body.appendChild(image);
});
isKeyDown = true;
}
};
window.onkeyup = function (e)
{
if (e.keyCode === 32)
{
isKeyDown = false;
}
};
}
function update ()
{
var length = graphicsPath.length;
graphics.clear();
graphics.lineStyle(10.0, 0xFFFF00, 1.0);
graphics.beginPath();
for (var i = 0; i < length; ++i)
{
var node = graphicsPath[i];
if (i !== 0)
{
graphics.lineTo(node.x, node.y);
}
else
{
graphics.moveTo(node.x, node.y);
}
}
graphics.strokePath();
graphics.closePath();
time += 0.01;
}