ActionScript - BOTONES Y MOVIECLIP

 
Vista:

BOTONES Y MOVIECLIP

Publicado por ECS (1 intervención) el 07/03/2017 12:28:01
Hola: Tengo una duda tonta seguramente. Tengo 5 botones vinculados a clase, y un movieclip con 5 imagenes, quiero que al hacer roll over en los botones se muestre la imagen correspondiente del movieclip, y lo consigo, pero al dar Ctrl el movie clip se reproduce en la esquina derecha indefinidamente.
Mi codigo es el siguiente:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package
{
 
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
 
	public class botones extends MovieClip
	{
 
		static var escenario:MovieClip;
		static var pelicula:MovieClip;
		static var btn:Btn;
		static var btn1:Btn1;
		static var btn2:Btn2;
		static var btn3:Btn3;
		static var btn4:Btn4;
 
		public function botones()
		{
 
			escenario=new MovieClip();
			stage.addChild(escenario);
			pelicula = new MovieClip();
			escenario.addChild(pelicula);
			pelicula.x = 238;
			pelicula.y= 65;
 
			btn= new Btn();
			escenario.addChild(btn);
			btn.x=28;
			btn.y=18;
 
			btn1= new Btn1 ();
			escenario.addChild(btn1);
			btn1.x=28;
			btn1.y=64;
 
			btn2= new Btn2();
			escenario.addChild(btn2);
			btn2.x=28;
			btn2.y=113;
 
			btn3= new Btn3();
			escenario.addChild(btn3);
			btn3.x=28;
			btn3.y =163;
 
			btn4= new Btn4();
			escenario.addChild(btn4);
			btn4.x=28;
			btn4.y=213;
 
			pelicula.gotoAndStop(1);
 
			btn.addEventListener(MouseEvent.ROLL_OVER, btnHandler);
			btn1.addEventListener(MouseEvent.ROLL_OVER, btn1Handler);
			btn2.addEventListener(MouseEvent.ROLL_OVER, btn2Handler);
			btn3.addEventListener(MouseEvent.ROLL_OVER, btn3Handler);
			btn4.addEventListener(MouseEvent.ROLL_OVER, btn4Handler);
 
		}
 
		private function btnHandler(MouseEvent)
		{
			pelicula.gotoAndStop(1);
		}
		private function btn1Handler(MouseEvent)
		{
			pelicula.gotoAndStop(2);
		}
 
		private function btn2Handler(MouseEvent)
		{
			 pelicula.gotoAndStop(3);
		}
 
		private function btn3Handler(MouseEvent)
		{
			 pelicula.gotoAndStop(4);
		}
 
		private function btn4Handler(MouseEvent)
		{
			pelicula.gotoAndStop(5);
		}
	}
 
}

como hago para que la pelicula no se reproduzca, porque lo demas funciona.
Gracias de antemano.
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

Evitar reproducción indefinida de la película al dar Ctrl

Publicado por Alejandro (369 intervenciones) el 28/06/2023 23:13:20
Para evitar que la película se reproduzca indefinidamente al presionar Ctrl, puedes utilizar un evento de teclado para detectar cuando la tecla Ctrl está presionada y detener la reproducción de la película. Aquí tienes la solución:

1. Importa la clase `flash.ui.Keyboard` al comienzo del archivo:

1
import flash.ui.Keyboard;

2. Agrega un listener de teclado al escenario para detectar cuando se presiona o se suelta la tecla Ctrl:

1
2
escenario.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
escenario.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

3. Agrega las funciones de manejo de eventos para `keyDownHandler` y `keyUpHandler`:

1
2
3
4
5
6
7
8
9
10
11
private function keyDownHandler(event:KeyboardEvent):void {
    if (event.ctrlKey) {
        pelicula.stop();
    }
}
 
private function keyUpHandler(event:KeyboardEvent):void {
    if (!event.ctrlKey) {
        pelicula.play();
    }
}

Estas funciones detectarán si la tecla Ctrl está presionada o suelta. Cuando la tecla Ctrl se presiona (`keyDownHandler`), la reproducción de la película se detendrá usando `pelicula.stop()`. Cuando la tecla Ctrl se suelta (`keyUpHandler`), se reanudará la reproducción de la película usando `pelicula.play()`.

Con estas modificaciones, la película dejará de reproducirse indefinidamente al dar Ctrl.

Esta solución se puede aplicar a otras consultas similares en las que necesites controlar la reproducción de elementos de animación según eventos de teclado u otras interacciones.
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