javascript #10 : canvas

25
Javascript & Canvas

Upload: jean-michel

Post on 27-Jul-2015

89 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Javascript #10 : canvas

Javascript & Canvas

Page 2: Javascript #10 : canvas

1. HTML

Page 3: Javascript #10 : canvas

The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, or other visual images on the fly.

Canvas (1)

http://www.w3.org

Page 4: Javascript #10 : canvas

The HTML5 <canvas> tag is used to draw graphics, on the fly, via scripting (usually JavaScript).

Canvas (2)

w3schools.com

Page 5: Javascript #10 : canvas

Which browsers does Canvas support?

Source : http://caniuse.com

Page 6: Javascript #10 : canvas

Use canvas

<canvas id="game" width="600" height="350"></canvas>

Page 7: Javascript #10 : canvas

2. Javascript

Page 8: Javascript #10 : canvas

The CanvasRenderingContext2D interface provides the 2D rendering context for the drawing surface of a <canvas> element.

Canvas context (1)

developer.mozilla.org

Page 9: Javascript #10 : canvas

Canvas context (2)

var canvas = document.getElementById('game'); console.log(canvas); // <canvas id="game" width="800" height="350"></canvas>

var context = canvas.getContext("2d"); console.log(context); // CanvasRenderingContext2D

Page 10: Javascript #10 : canvas

Canvas Coordinates

X

Y

[0, 0]

[300, 175]

[600, 350]

Page 11: Javascript #10 : canvas

Styles

Fill Stroke

Page 12: Javascript #10 : canvas

2.1 Drawing

Page 13: Javascript #10 : canvas

Drawing rectangles

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.fillRect(0, 0, 100, 100); context.strokeRect(0, 0, 100, 100); // Parameters : x, y, width, height

Page 14: Javascript #10 : canvas

Drawing lines

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.beginPath(); context.moveTo(0, 300); context.lineTo(200, 20); context.stroke(); context.closePath();

Page 15: Javascript #10 : canvas

Drawing text

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.fillText("Hello world", 50, 100); context.strokeText("Hello world", 50, 150);

Page 16: Javascript #10 : canvas

Drawing images

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

var logo = new Image(); logo.src = "images/player.png"; context.drawImage(logo, 100, 100);

Page 17: Javascript #10 : canvas

Erasing

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.clearRect(10, 10, 100, 100);

Page 18: Javascript #10 : canvas

2.2 Style

Page 19: Javascript #10 : canvas

Colors (1)

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.fillStyle = "blue"; context.fillRect(0, 0, 100, 100);

context.fillStyle = "red"; context.fillRect(100, 100, 100, 100);

Page 20: Javascript #10 : canvas

Colors (2)

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.strokeStyle = "blue"; context.strokeRect(0, 0, 100, 100);

context.strokeStyle = "red"; context.strokeRect(100, 100, 100, 100);

Page 21: Javascript #10 : canvas

Text

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

context.font = "30px Comic Sans Ms"; context.fillStyle = "green"; context.fillText("Hello!", 0, 30);

Page 22: Javascript #10 : canvas

3 Animate

Page 23: Javascript #10 : canvas

setInterval()

function sayHello(){ alert('Hello!'); }

setInterval(sayHello, 2000);

setInterval(function(){ alert('Hello!'); }, 2000);

Page 24: Javascript #10 : canvas

Animation loop

var canvas = document.getElementById('game'); var context = canvas.getContext("2d");

var x = 0; setInterval(animate, 1000/30);

function animate() { context.clearRect(0, 0, 800, 350); context.fillStyle = "green"; context.fillRect(x, 0, 100, 100); x += 1; }

Page 25: Javascript #10 : canvas

Merci pour votre attention.