Animacija
HTML
Christmas card
CSS
html, body{
border: 0px;
margin: 0px;
padding: 0px;
}
canvas#scene {
display: block;
}
.center {
margin: 0 auto;
width: 300px;
display: block;
}
JScript
window.onload = function() {
var canvas = null;
var context = null;
var snowflakeImage = null;
var snowflakes = [];
var deg = Math.PI/180;
canvas = document.getElementById("scene");
context = canvas.getContext("2d");
centerX = canvas.width / 2,
centerY = canvas.height - 30,
angle = Math.PI * 0.8,
radius = 250;
var tmpImage = new Image();
tmpImage.src = "pahulja2.png";
tmpImage.onload = function() {
snowflakeImage = tmpImage;
}
canvas.onclick = function(e) {
var x = e.clientX;
var y = e.clientY;
addSnowflake(x, y);
}
var started = setInterval(drawFlakes, 10);
function addSnowflake(x, y) {
var flake = new Flake(x, y, snowflakeImage);
snowflakes.push(flake);
}
function Flake(x, y, image) {
this.width = 110;
this.height = 110;
this.x = x;
this.y = y;
this.image = image;
this.updateY = function(maxY) {
this.y += 1;
if (this.y > maxY) {
this.y = -(this.width/2);
}
}
}
function drawTextAlongArc(context, str, centerX, centerY, radius, angle) {
var len = str.length, s;
context.save();
context.translate(centerX, centerY);
context.rotate(-1 * angle / 2);
context.rotate(-1 * (angle / len) / 2);
for(var n = 0; n < len; n++) {
context.rotate(angle / len);
context.save();
context.translate(0, -1 * radius);
s = str[n];
context.fillText(s, 0, 0);
context.restore();
}
context.restore();
}
function drawFlakes() {
context.clearRect(0, 0,
canvas.width,
canvas.height);
for (var i = 0; i < snowflakes.length; i++) {
var flake = snowflakes[i];
context.drawImage(flake.image,
flake.x, flake.y,
flake.width, flake.height);
flake.updateY(canvas.height);
context.font = '50pt Calibri';
context.textAlign = 'center';
context.fillStyle = '#008A2E';
context.lineWidth = 5;
drawTextAlongArc(context, 'Merry Christmas!', 740, 500, radius, angle);
}
}
}