HTML+js:
lnxprog.studenthosting.sk - helicopter_v3.zip
JSFiddle:
HTML:
<canvas id="canvas" width="600" height="500"/>Javascript:
var cnv = document.getElementById('canvas');var ctx = cnv.getContext("2d");var img = new Image();img.src = "http://lnxprog.studenthosting.sk/heli/heli.png";var img2 = new Image();img2.src = "http://lnxprog.studenthosting.sk/heli/heli_crash.png";var key_up = false;var key_down = false;var key_left = false;var key_right = false;var key_a = false;var key_d = false;var key_space = false;/* 38 - up, 40 - down, 37 - left, 39 - right, 65 - a, 68 - d */window.addEventListener("keydown", function(e) { if (e.keyCode == 38) key_up = true; if (e.keyCode == 40) key_down = true; if (e.keyCode == 37) key_left = true; if (e.keyCode == 39) key_right = true; if (e.keyCode == 65) key_a = true; if (e.keyCode == 68) key_d = true; if (e.keyCode == 32) key_space = true;});window.addEventListener("keyup", function(e) { if (e.keyCode == 38) key_up = false; if (e.keyCode == 40) key_down = false; if (e.keyCode == 37) key_left = false; if (e.keyCode == 39) key_right = false; if (e.keyCode == 65) key_a = false; if (e.keyCode == 68) key_d = false; if (e.keyCode == 32) key_space = false;});function draw(im, x, y, uhol, cx, cy) { ctx.save(); ctx.translate(x, y); ctx.rotate(uhol * Math.PI/180); ctx.translate(-cx, -cy); ctx.drawImage(im, 0, 0); ctx.restore();}var x = 100;var y = 100;var dx = 0;var dy = 0;function heli_move() { if (key_left) dx -= 1; if (key_right) dx += 1; if (y <= 448) { dy += 1; } else { y = 450; dy = 0; if (dx > 0) dx -= 1; if (dx < 0) dx += 1; } if (key_up) dy -= 2; x += dx; y += dy;}function update() { ctx.fillStyle = "lightblue"; ctx.fillRect(0, 0, 600, 500); ctx.fillStyle = "green"; ctx.fillRect(0, 450, 600, 50); draw(img, x, y, 0, 88, 41); heli_move(); }setInterval(update, 50);