ActionScript - ayudenme porfas

 
Vista:

ayudenme porfas

Publicado por Pablo (1 intervención) el 22/03/2010 01:14:03
ayudenme este es mi codigo

onClipEvent(load){
power = 3;
}
onClipEvent(enterFrame){
this._y += power;
if(Key.isDown(65)){
_root.a._y = -60;
power = 0;
}

if(this.hitTest(1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 ||23 || 24 || 26 || 27 || 28 ||29 ||30 || 31) {

}

se que sera una pregunta estupida pero miren lo que quiero hacer es ya que hit test yo sepa cual fue en la que hit testeo, y poder mover esa instancia junto con mi objeto, pero no se como saber cual fue la instancia que hittestio entonces no se como escribir cual mover, porfavor ayudenme
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

Detección de colisión y movimiento de instancia en Flash

Publicado por Alejandro (369 intervenciones) el 27/06/2023 16:53:40
En tu código actual, estás utilizando una declaración de hitTest sin realizar ninguna acción en caso de que la colisión ocurra. Para poder identificar la instancia que ha colisionado, puedes almacenar la instancia en una variable y luego usar esa variable para mover el objeto correspondiente. Aquí tienes una posible solución:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
onClipEvent(load){
    power = 3;
}
 
onClipEvent(enterFrame){
    this._y += power;
 
    if(Key.isDown(65)){
        _root.a._y = -60;
        power = 0;
    }
 
    var instances:Array = [_root.instance1, _root.instance2, _root.instance3, _root.instance4, _root.instance5]; // Agrega todas tus instancias aquí
 
    for(var i:Number = 0; i < instances.length; i++){
        if(this.hitTest(instances[i])){
            // Colisión detectada con instances[i]
            instances[i]._y += power; // Mueve la instancia afectada por la colisión
            break; // Rompe el bucle después de encontrar la primera colisión
        }
    }
}

En el ejemplo anterior, he creado un array llamado `instances` que contiene todas las instancias con las que deseas realizar la detección de colisión. Puedes agregar todas las instancias necesarias en ese array. Luego, itero a través del array utilizando un bucle for y verifico la colisión usando `hitTest()` para cada instancia en el array. Si se detecta una colisión, el código dentro del bloque `if` se ejecutará y moverá la instancia correspondiente (`instances[i]` en este caso).

Asegúrate de reemplazar `instance1`, `instance2`, etc., con los nombres correctos de tus instancias.

Espero que esto resuelva tu problema y te ayude a mover la instancia afectada por la colisión.
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