ActionScript - detectar color con un movie clip que pase sobre

 
Vista:

detectar color con un movie clip que pase sobre

Publicado por Michel Vazquez Garcia (8 intervenciones) el 22/12/2005 01:59:36
necesito hacer alguna funcion o algo para que un movie clip cuando pase por arriba de un color determinado, se le prohibe pasar por ahi,

la idea es tener un mapa, y un carrito pero no quiero hacerlo con el hittext por que tendria que hacer el mapa con varias zonas, y me es mucho mas favil decirle al carrito que no pase por ahí, cuando el color sea uno en especifico...

Gracias de antemano cualqier ayuda

ATT
Michel
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

Restringir el movimiento de un MovieClip según un color específico

Publicado por Alejandro (369 intervenciones) el 21/06/2023 23:15:24
Para restringir el movimiento de un MovieClip cuando pasa por encima de un color determinado, puedes utilizar las capacidades de detección de colisiones de ActionScript. Aquí tienes una posible solución:

1. Crea un objeto invisible que abarque el área en la que no deseas que el MovieClip pase. Puedes utilizar un MovieClip transparente o una forma geométrica sin color de relleno.

2. Asigna un nombre de instancia a ese objeto invisible. Por ejemplo, puedes llamarlo "areaProhibida".

3. En el código de ActionScript que controla el movimiento del MovieClip, utiliza la función `hitTestObject()` para verificar si hay una colisión entre el MovieClip y el objeto "areaProhibida". Si hay una colisión, detén el movimiento del MovieClip.

Aquí tienes un ejemplo de cómo podrías implementar esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Obtén una referencia al objeto "areaProhibida" utilizando su nombre de instancia
var areaProhibida:MovieClip = getChildByName("areaProhibida") as MovieClip;
 
// Agrega un evento "enterFrame" al MovieClip que controla su movimiento
miMovieClip.addEventListener(Event.ENTER_FRAME, verificarColision);
 
// Función para verificar la colisión en cada frame
function verificarColision(event:Event):void {
    // Verifica si hay una colisión entre el MovieClip y el objeto "areaProhibida"
    if (miMovieClip.hitTestObject(areaProhibida)) {
        // Detén el movimiento del MovieClip
        miMovieClip.stop();
        // Aquí puedes agregar cualquier otra acción que desees realizar cuando se produzca la colisión
    } else {
        // Continúa el movimiento del MovieClip
        miMovieClip.play();
    }
}

Asegúrate de reemplazar "miMovieClip" con el nombre de instancia correcto de tu MovieClip y "areaProhibida" con el nombre de instancia del objeto invisible que representa el área prohibida.

Recuerda que esta solución asume que el área prohibida se representa mediante un objeto invisible en el escenario con un nombre de instancia asignado. También debes ajustar el código según las necesidades específicas de tu proyecto.

Espero que esta solución te ayude a restringir el movimiento del MovieClip cuando pasa por encima de un color determinado. ¡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