ActionScript - función para sumar puntos

 
Vista:
Imágen de perfil de Miguel Ángel

función para sumar puntos

Publicado por Miguel Ángel (2 intervenciones) el 28/09/2017 02:29:03
Hola a todxxs:

Estoy haciendo un juego en AnimateCC, con ActionScript 3.0
En el stage, tengo un campo de texto dinámico, instanciado como PuntosTot.
Este debe reflejar los puntos del jugador, cuando pulsa ciertas teclas.
En el layer de acciones, tengo esto:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var totalRonda: i:int = 0;
puntosTot.text = totalRonda.toString();
 
function sumatoria(event: KeyboardEvent):void {
 
	if (event.keyCode == 49) { //<---------------------------tecla "1"
		puntosTot= totalRonda += 40
		trace(puntosTot)
	}
	if (event.keyCode == 50) { //<---------------------------tecla "2"
		totalRonda += 26
	}
	if (event.keyCode == 51) { //<---------------------------tecla "3"
		totalRonda += 21
 
	}
	if (event.keyCode == 52) { //<---------------------------tecla "4"
		totalRonda += 13
	}
}
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, sumatoria);


Pero todo esto no funciona. ¿Hay alguien que me pueda decir que estoy haciendo mal?
De antemano, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con la actualización de puntos en un juego

Publicado por Alejandro (369 intervenciones) el 29/06/2023 16:45:20
El problema en tu código radica en la forma en que intentas actualizar el campo de texto "puntosTot" para reflejar los puntos del jugador. Aquí está la solución corregida:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var totalRonda:int = 0;
puntosTot.text = totalRonda.toString();
 
function sumatoria(event:KeyboardEvent):void {
    if (event.keyCode == 49) { // tecla "1"
        totalRonda += 40;
        puntosTot.text = totalRonda.toString(); // Actualiza el campo de texto
        trace(totalRonda);
    }
    if (event.keyCode == 50) { // tecla "2"
        totalRonda += 26;
        puntosTot.text = totalRonda.toString(); // Actualiza el campo de texto
    }
    if (event.keyCode == 51) { // tecla "3"
        totalRonda += 21;
        puntosTot.text = totalRonda.toString(); // Actualiza el campo de texto
    }
    if (event.keyCode == 52) { // tecla "4"
        totalRonda += 13;
        puntosTot.text = totalRonda.toString(); // Actualiza el campo de texto
    }
}
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, sumatoria);

En la versión corregida del código, se han agregado líneas para actualizar el campo de texto "puntosTot" después de cada modificación de la variable "totalRonda". Esto asegura que el campo de texto refleje los puntos actualizados del jugador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar