ActionScript - problema con private fuction

 
Vista:
sin imagen de perfil

problema con private fuction

Publicado por Moises (2 intervenciones) el 19/03/2014 06:40:51
Tengo un problema con el siguiente codigo nose que este mal.
Tengo 4 Botones:
-Iniciar Pelota
-Detener Pelota
-Iniciar Pelota en X fotograma
-Detener Pelota en X fotograma
Dejo una foto


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
stop();
//BOTON INICIAR PELOTA
botoniniciarp.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
function nombrefuncion(e:MouseEvent) {
play();  // va a ir al fotograma n(10) y lo detendra hay
}
 
 
//BOTON DETENER PELOTA 
botondetenerp.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
function nombrefuncion(e:MouseEvent) {
stop();  // va a ir al fotograma n(10) y lo detendra hay
}
 
 
 
//BOTON INICIAR PELOTA EN X
botoniniciarpx.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
function nombrefuncion(e:MouseEvent): {
gotoAndPlay(20);  // va a ir al fotograma n(20) e iniciara de hay
}
 
 
//BOTON DETENER PELOTA EN X
botondetenerpx.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
function nombrefuncion(e:MouseEvent) {
gotoAndStop(10);  // va a ir al fotograma n(10) y lo detendra hay
}
error que me arroja:
Escena 1, Capa 'Script', Fotograma 1, Línea 22 1084: Error de sintaxis: se esperaba identifier antes de leftbrace.


Y aqui coloco las funciones como privadas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
stop();
//BOTON INICIAR PELOTA
botoniniciarp.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
private function nombrefuncion(e:MouseEvent) {
play();  // va a ir al fotograma n(10) y lo detendra hay
}
 
 
//BOTON DETENER PELOTA 
botondetenerp.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
private function nombrefuncion(e:MouseEvent) {
stop();  // va a ir al fotograma n(10) y lo detendra hay
}
 
 
 
//BOTON INICIAR PELOTA EN X
botoniniciarpx.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
private function nombrefuncion(e:MouseEvent): {
gotoAndPlay(20);  // va a ir al fotograma n(20) e iniciara de hay
}
 
 
//BOTON DETENER PELOTA EN X
botondetenerpx.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
private function nombrefuncion(e:MouseEvent) {
gotoAndStop(10);  // va a ir al fotograma n(10) y lo detendra hay
}
Error que me arroja:
Escena 1, Capa 'Script', Fotograma 1, Línea 5 1013: El atributo private sólo se puede utilizar en definiciones de propiedad de clase.
Escena 1, Capa 'Script', Fotograma 1, Línea 13 1013: El atributo private sólo se puede utilizar en definiciones de propiedad de clase.
Escena 1, Capa 'Script', Fotograma 1, Línea 22 1013: El atributo private sólo se puede utilizar en definiciones de propiedad de clase.
Escena 1, Capa 'Script', Fotograma 1, Línea 22 1084: Error de sintaxis: se esperaba identifier antes de leftbrace.
Escena 1, Capa 'Script', Fotograma 1, Línea 30 1013: El atributo private sólo se puede utilizar en definiciones de propiedad de clase.


-Yo no puedo colocar una función como privada de esta forma ?
function nombrefuncion

-si solo dejo 1 un codigo por ejemplo
1
2
3
4
5
//BOTON DETENER PELOTA EN X
botondetenerpx.addEventListener(MouseEvent.CLICK,nombrefuncion);
 
private function nombrefuncion(e:MouseEvent) {
gotoAndStop(10);  // va a ir al fotograma n(10) y lo detendra hay
si me corre pero quiero que me corra con los 4 botones :(

Para que sirve la letra "e" del MouseEvente?
1
private function nombrefuncion(e:MouseEvent)


y por ultimo tengo una duda nada referente con lo de arriba: para que sirve el void?
1
2
3
4
public function enviarAConsola():void
{
trace("Hola Mundo");
}
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 botones para controlar la pelota en diferentes fotogramas

Publicado por Alejandro (369 intervenciones) el 28/06/2023 18:14:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
stop();
 
// BOTON INICIAR PELOTA
botoniniciarp.addEventListener(MouseEvent.CLICK, iniciarPelota);
 
function iniciarPelota(e:MouseEvent):void {
    play();  // irá al fotograma 10 y lo detendrá allí
}
 
// BOTON DETENER PELOTA
botondetenerp.addEventListener(MouseEvent.CLICK, detenerPelota);
 
function detenerPelota(e:MouseEvent):void {
    stop();  // irá al fotograma 10 y lo detendrá allí
}
 
// BOTON INICIAR PELOTA EN X
botoniniciarpx.addEventListener(MouseEvent.CLICK, iniciarPelotaEnX);
 
function iniciarPelotaEnX(e:MouseEvent):void {
    gotoAndPlay(20);  // irá al fotograma 20 e iniciará desde allí
}
 
// BOTON DETENER PELOTA EN X
botondetenerpx.addEventListener(MouseEvent.CLICK, detenerPelotaEnX);
 
function detenerPelotaEnX(e:MouseEvent):void {
    gotoAndStop(10);  // irá al fotograma 10 y lo detendrá allí
}

Errores encontrados en tu código original:

1. Error de sintaxis en la declaración de la función `nombrefuncion` en la línea 22. El paréntesis de apertura estaba mal ubicado. Debe ser `function nombrefuncion(e:MouseEvent):void {`.
2. Intento de usar el modificador `private` en las funciones. En ActionScript 3, el modificador `private` solo se puede utilizar en definiciones de propiedades de clase, no en funciones.
3. Pregunta sobre el uso de la letra "e" en `MouseEvent`. La letra "e" es una convención comúnmente utilizada para representar el evento (`event`) en los controladores de eventos. En este caso, `e:MouseEvent` indica que el parámetro de la función es un objeto de evento de tipo `MouseEvent`.
4. Pregunta sobre el uso de `void`. En ActionScript 3, `void` se utiliza para indicar que una función no devuelve ningún valor. En el ejemplo anterior, `void` se usa en las declaraciones de funciones para indicar que no se espera un valor de retorno. La función simplemente realiza una acción (como reproducir o detener la animación) sin devolver ningún resultado.

Espero que esta solución resuelva tus problemas con los botones para controlar la pelota en diferentes fotogramas.
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