Questo secondo programma rassomiglia al precedente, solo che non usa Canvas.
La funzione muove() è definita all'interno della funzione avvia() , viene riconosciuta ed eseguita.
Mentre nel programma precedente la funzione tempo() è definita all'interno di avvia(), non viene riconosciuta come funzione e non viene eseguita.
Perché questa differenza?
Penso che si può definire una funzione all'interno di un'altra. O no? O che si deve fare per definirla all'interno di un'altra?
Grazie.

lanvoel

codice:
<!doctype html>
<html>
<body>
<input type="button" value="avvia1" onclick="avvia()">
<input type="button" value="ferma1" onclick="ferma()">
<div id="div0" style="position: absolute; left=0px; top:30px; width:330px; height:180px; border: 3px solid blue;"></div>
<div id="div1" style="position: absolute;  left=40px; top:35px; width:10px; height:10px; border: 1px solid red;"></div>
<div id="div2" style="position: absolute;  left=0px; top:220px; width:330px; height:50px; border: 2px solid red";>numero urti:=</div>


		<script>
var cronometro;
var sinistra=40;
var alto=35;
var dir_sin=1;
var dir_alto=1;
var contaUrti=0;
	function avvia() {
		cronometro=window.setInterval("muove()", 10);
		}
function muove() {
	if (dir_sin==1){
		sinistra++; 
if (sinistra ==330) {
	document.getElementById("div1").style.background="cyan";
	document.getElementById("div0").innerHTML="tic";
	document.getElementById("div0").style.background="blue";
	document.getElementById("div0").style.color="cyan";
	document.getElementById("div2").style.background="red";
	dir_sin=-1;
     contaUrti++; 
     document.getElementById("div2").innerHTML="numero urti= "+contaUrti;
}}
if(dir_sin==-1){
	sinistra--;
	if(sinistra==10){
		document.getElementById("div1").style.background="red";
        document.getElementById("div0").style.background="orange";
	document.getElementById("div0").innerHTML="toc";
	document.getElementById("div0").style.color="yellow";
        document.getElementById("div2").style.background="green";
		dir_sin=1;
     contaUrti++; 
     document.getElementById("div2").innerHTML="numero urti= "+contaUrti;
}}
		
		if (dir_alto==1){
		alto++; 
if (alto ==205) {
	document.getElementById("div1").style.background="orange";
	document.getElementById("div0").style.background="green";
	document.getElementById("div0").innerHTML="tac";
	document.getElementById("div0").style.color="white";
	document.getElementById("div0").style.textAlign="center";
	document.getElementById("div0").style.fontSize="50px";
	document.getElementById("div0").style.fontFamily="Algerian";
	document.getElementById("div2").style.background="red";
	dir_alto=-1;
    contaUrti++; 
     document.getElementById("div2").innerHTML="numero urti= "+contaUrti;
}}
if(dir_alto==-1){
	alto--;
	if(alto==30){
		document.getElementById("div1").style.background="green";
	document.getElementById("div0").innerHTML="tec";
	document.getElementById("div0").style.color="blue";
		document.getElementById("div0").style.background="cyan";
		document.getElementById("div2").style.background="orange";
		dir_alto=1;
     contaUrti++; 
     document.getElementById("div2").innerHTML="numero urti= "+contaUrti;
}}


div1.style.left=sinistra+"px";
div1.style.top=alto+"px";
}
function ferma() {
	clearInterval(cronometro);
	}
</script>
</body>
</html>