<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pacman lineal</title>
</head>
<body>
<canvas id="a" width="600" height="600"></canvas>
<script type="text/javascript">
var pantalla=document.querySelector("canvas");
var pincel=pantalla.getContext("2d");
function dibujoCircunferencia(x,y,radio,x2,y2,radio2) {
pincel.fillStyle="blue";
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
pincel.beginPath();
pincel.arc(x2,y2,radio2, 0, 2 * Math.PI, false);
pincel.fillStyle = "rgb(255, 255, 255)";
pincel.fill();
}
function dibujoCircunferencia2(x,y,radio,x2,y2,radio2){
/////////////////////////////// dibujamos la primera mitad de circunferencia
pincel.beginPath();
pincel.arc(x, y, radio, 0.25 * Math.PI, 1.25 * Math.PI, false);
pincel.fillStyle = "blue";
pincel.fill();
pincel.beginPath();
/////////////////////// digujamos la segunda mitad de circunferencia, de tal manera que al unirse las dos se pueda ver una pacman con la voca abierta con vista a la derecha
pincel.arc(x, y, radio, 0.75 * Math.PI, 1.75 * Math.PI, false);
pincel.fill();
pincel.beginPath();
pincel.arc(x2,y2,radio2, 0, 2 * Math.PI, false);
pincel.fillStyle = "rgb(255, 255, 255)";
pincel.fill();
/////////////////////////
}
function dibujoCircunferencia3(x,y,radio,x2,y2,radio2){
/////////////////////////////// dibujamos la primera mitad de circunferencia
pincel.beginPath();
pincel.arc(x, y, radio, 1.75 * Math.PI, 0.75 * Math.PI, false);
pincel.fillStyle = "blue";
pincel.fill();
pincel.beginPath();
/////////////////////// digujamos la segunda mitad de circunferencia, de tal manera que al unirse las dos se pueda ver una pacman con la voca abierta con vista a la izq
pincel.arc(x, y, radio, 1.25 * Math.PI, 0.25 * Math.PI, false);
pincel.fill();
pincel.beginPath();
pincel.arc(x2,y2,radio2, 0, 2 * Math.PI, false);
pincel.fillStyle = "rgb(255, 255, 255)";
pincel.fill();
/////////////////////////
}
function limpiarPantalla() {
pincel.clearRect(0,0,600,600);
}
var x = 0;
function actualizarPantalla(){
limpiarPantalla();
if (x%2==0){
limpiarPantalla();
dibujoCircunferencia(x,50,15 ,x,43,3);
x++;
}else{
limpiarPantalla();
dibujoCircunferencia2(x,50,15 ,x,43,3);
x=++;
}
}
setInterval(actualizarPantalla,20);
</script>
</body>
</html>
Este es el codigo donde dibuje un pacman azul(azul porque el amarillo no se veia bien por el fondo blanco, no se como cambiar el fondo) Este pacman solo va a la derecha. Mi curiosidad es como harian para que vaya a la derecha y regrese como pide el ejercicio de la clase. Trate de hacerlo...... pero........ no pude(vaya que lo intente ), Ayudenme!!! no quiero quedarme con la duda, que dificil es manejar los if´s anidados. Y_Y