Interaktywność / Idea Interactive Pobierz link Facebook X Pinterest E-mail Inne aplikacje Kliknięcia Kliknij mnie!!! mem365.blogspot.com Przeciągnięcia Posuń czerwoną modelkę <style> body { background-color: rgb(255,255,255); } img { mix-blend-mode: difference; cursor:pointer; position: absolute; } #b, #g { top: 160px; } #r { left: 140px; } #g { left: 100px; } #b { left: 180px; } </style> <div> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLAmwQaL_Z7l6X9s-wmDuqr1bC1zJdBDdeXCPepwPWxm-oekPUx0yAoAF-2pjHm3l6pH281KG24vK80oJB9KU46MuOtXdy4Xg8f898avUjCuiy3subOVBZIzQFjgpMZkTdeJMmR8ScPA4/s1600/r.png" id="r"> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQuKzMW9CnYd-anGBaKvfDoz4ftZQMuut27rJ27OTriEYI_E31gS9jrsab1ESHPd9_uvSA7mIV70CTx33xh6muWloypGtArNfS8tTWcmhxjpL8sZs3WAIg4pWgi2LVTIt7AeXwxh8G_7Q/s1600/g.png" id="g"> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkN7HwuJdkXIGV9CCYUyQxedQ4IuXWNNbxmtUQ055qoPNzRdH8_FRNCLKj18COcgyu6ajqcybfHuDIyMYSyUTjylZSq1OHtOS2lnypAcXMJB8QJdYwMAYg5QB4u7fXZwanqR7XaxB-nk/s1600/b.png" id="b"> </div> <script> r.onmousedown = function(event) { r.style.position = 'absolute'; r.style.zIndex = 1000; document.body.appendChild(r); moveAt(event.pageX, event.pageY); function moveAt(pageX, pageY) { r.style.left = pageX - r.offsetWidth / 2 + 'px'; r.style.top = pageY - r.offsetHeight / 2 + 'px'; } function onMouseMove(event) { moveAt(event.pageX, event.pageY); } document.addEventListener('mousemove', onMouseMove); r.onmouseup = function() { document.removeEventListener('mousemove', onMouseMove); r.onmouseup = null; }; }; r.ondragstart = function() { return false; }; </script> Gry <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> * { padding: 0; margin: 0; } h1 {text-align:center;padding: 30px;margin: 7px;background: #eee;} h2 {text-align:center;padding: 10px;margin: 7px;background: #eee;} canvas { background: #eee; display: block; margin: 0 auto; }</style> </head> <body> <h1>Breakout</h1> <canvas id="myCanvas" width="480" height="320"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var ballRadius = 10; var x = canvas.width/2; var y = canvas.height-30; var dx = 2; var dy = -2; var paddleHeight = 10; var paddleWidth = 75; var paddleX = (canvas.width-paddleWidth)/2; var rightPressed = false; var leftPressed = false; var brickRowCount = 5; var brickColumnCount = 3; var brickWidth = 75; var brickHeight = 20; var brickPadding = 10; var brickOffsetTop = 30; var brickOffsetLeft = 30; var score = 0; var lives = 3; var bricks = []; for(c=0; c<brickColumnCount; c++) { bricks[c] = []; for(r=0; r<brickRowCount; r++) { bricks[c][r] = { x: 0, y: 0, status: 1 }; } } document.addEventListener("keydown", keyDownHandler, false); document.addEventListener("keyup", keyUpHandler, false); document.addEventListener("mousemove", mouseMoveHandler, false); function keyDownHandler(e) { if(e.keyCode == 39) { rightPressed = true; } else if(e.keyCode == 37) { leftPressed = true; } } function keyUpHandler(e) { if(e.keyCode == 39) { rightPressed = false; } else if(e.keyCode == 37) { leftPressed = false; } } function mouseMoveHandler(e) { var relativeX = e.clientX - canvas.offsetLeft; if(relativeX > 0 && relativeX < canvas.width) { paddleX = relativeX - paddleWidth/2; } } function collisionDetection() { for(c=0; c<brickColumnCount; c++) { for(r=0; r<brickRowCount; r++) { var b = bricks[c][r]; if(b.status == 1) { if(x > b.x && x < b.x+brickWidth && y > b.y && y < b.y+brickHeight) { dy = -dy; b.status = 0; score++; if(score == brickRowCount*brickColumnCount) { // alert("YOU WIN, CONGRATS!"); document.location.reload(); } } } } } } function drawBall() { ctx.beginPath(); ctx.arc(x, y, ballRadius, 0, Math.PI*2); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath(); } function drawPaddle() { ctx.beginPath(); ctx.rect(paddleX, canvas.height-paddleHeight, paddleWidth, paddleHeight); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath(); } function drawBricks() { for(c=0; c<brickColumnCount; c++) { for(r=0; r<brickRowCount; r++) { if(bricks[c][r].status == 1) { var brickX = (r*(brickWidth+brickPadding))+brickOffsetLeft; var brickY = (c*(brickHeight+brickPadding))+brickOffsetTop; bricks[c][r].x = brickX; bricks[c][r].y = brickY; ctx.beginPath(); ctx.rect(brickX, brickY, brickWidth, brickHeight); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath(); } } } } function drawScore() { ctx.font = "16px Arial"; ctx.fillStyle = "#0095DD"; ctx.fillText("Score: "+score, 8, 20); } function drawLives() { ctx.font = "16px Arial"; ctx.fillStyle = "#0095DD"; ctx.fillText("Lives: "+lives, canvas.width-65, 20); } function draw() { ctx.clearRect(0, 0, canvas.width, canvas.height); drawBricks(); drawBall(); drawPaddle(); drawScore(); drawLives(); collisionDetection(); if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) { dx = -dx; } if(y + dy < ballRadius) { dy = -dy; } else if(y + dy > canvas.height-ballRadius) { if(x > paddleX && x < paddleX + paddleWidth) { dy = -dy; } else { lives--; if(!lives) { // alert("GAME OVER"); document.location.reload(); } else { x = canvas.width/2; y = canvas.height-30; dx = 3; dy = -3; paddleX = (canvas.width-paddleWidth)/2; } } } if(rightPressed && paddleX < canvas.width-paddleWidth) { paddleX += 7; } else if(leftPressed && paddleX > 0) { paddleX -= 7; } x += dx; y += dy; requestAnimationFrame(draw); } draw(); </script> <h2>1976-05-13 Atari</h2> </body> </html> Komentarze
Komentarze
Prześlij komentarz