ActionScript - Carga de multiples fotos y saber donde pulsa el usuario

 
Vista:

Carga de multiples fotos y saber donde pulsa el usuario

Publicado por Luis (1 intervención) el 25/04/2012 15:26:49
Buenas!!

Soy bastante novato con el as3 y después de mirar un montón de posts y hacer muchas pruebas, no hay manera de conseguir lo que quiero, a ver si alguien con mas idea que yo me echa un cable.
Lo que necesito es cargar una serie de imagenes en pantalla, en pequeño, y que cuando el usuario me cliquee sobre una de ellas, esta pase a un primer plano, se agrande y permita interactuar con ella.
He probado de cargar las imagenes de varias maneras, pero bueno pondré solo alguna de ellas para no hacer esto eterno.

Para cargar hago lo siguiente:

var loader:URLLoader = new URLLoader();
configureListeners(loader);

var request:URLRequest = new URLRequest("Dir6.txt");
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}

Y en el

function completeHandler(event:Event):void {
var loader2:URLLoader = URLLoader(event.target);
vars = new URLVariables(loader2.data);

arr = new Array ;//files.getDirectoryListing();
for each (var f:String in vars){
arr.push(f);
}
}

Con esto ya he leido mi lista de imagenes

Ahora las muestro:


var X:uint=1;
var Y:uint=1;
for each (var f:String in vars){
var aLoader:UILoader = new UILoader();
aLoader.source = ruta+arr.pop() ;
aLoader.name=f;
aLoader.scaleX=2;
aLoader.scaleY=2;
aLoader.move(X,Y);
X=X+100;
Y=Y+50;
addChild(aLoader);

trace(aLoader.name);

}
aLoader.addEventListener(MouseEvent.CLICK, luis);
function luis(event:Event) {
trace (aLoader.name);

Ya me imagino que esto que he hecho es cutre, cutre, pero es que no tengo ni idea de por donde cogerlo.
Lo de las X,Y, no hacerle caso es temporal solo para ver si cargaba las imagenes.
Tal y como esta ahora me carga las tres imagenes que tengo en la lista, pero solo funciona el evento del ratón si pulso sobre la ultima, me imagino que será porque precisamente es la última que creo y el evento hace referencia solo a este ultimo Loader, pero es que no se que hacer.

Alguna sugerencia?????

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

Cómo cargar e interactuar con imágenes en Flash (AS3)

Publicado por Alejandro (369 intervenciones) el 27/06/2023 22:29:02
Para lograr cargar una serie de imágenes en pantalla y permitir la interacción con ellas, puedes seguir los siguientes pasos:

1. Cargar las imágenes utilizando `Loader` y `URLRequest`:
1
2
3
4
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest("ruta_de_la_imagen.jpg");
loader.load(request);
addChild(loader);

2. Añadir un evento de clic a cada imagen cargada:
1
loader.addEventListener(MouseEvent.CLICK, imagenClickeada);

3. Definir la función `imagenClickeada` para manejar la interacción con las imágenes:
1
2
3
4
5
function imagenClickeada(event:MouseEvent):void {
    var imagenClickeada:Loader = Loader(event.currentTarget);
    // Aquí puedes aplicar las acciones deseadas a la imagen clickeada,
    // como cambiar su tamaño, moverla al primer plano, etc.
}

4. Repite los pasos 1-3 para cada imagen que desees cargar.

En tu código, puedes aplicar estas modificaciones para lograr el resultado esperado. A continuación, te muestro un ejemplo adaptado de tu código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var ruta:String = ""; // Ruta de las imágenes
 
var X:uint = 1;
var Y:uint = 1;
for each (var f:String in vars) {
    var loader:Loader = new Loader();
    loader.load(new URLRequest(ruta + f));
    loader.x = X;
    loader.y = Y;
    loader.scaleX = 2;
    loader.scaleY = 2;
    addChild(loader);
 
    loader.addEventListener(MouseEvent.CLICK, imagenClickeada);
 
    X += 100;
    Y += 50;
}
 
function imagenClickeada(event:MouseEvent):void {
    var imagenClickeada:Loader = Loader(event.currentTarget);
    // Realiza las acciones deseadas con la imagen clickeada
}

Ten en cuenta que en este ejemplo se asume que `vars` contiene una lista de nombres de imágenes. Asegúrate de proporcionar la ruta correcta a tus imágenes y de ajustar las acciones en la función `imagenClickeada` según tus necesidades.

Recuerda que este es solo un ejemplo básico para mostrar el enfoque general. Puedes personalizarlo y agregar más funcionalidades según tus requerimientos específicos.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto!
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