ActionScript - como ubicar movie clip con actionscript

 
Vista:

como ubicar movie clip con actionscript

Publicado por Gloria (1 intervención) el 18/02/2009 22:50:15
Hola a todos
Tengo un problema con un codigo y no se como resolverlo....agradezco si alguien me puede ayudar.
Tengo un mapa en flash y tiene la opción de zoom con mas y menos y con otro boton se mueve hacia la derecha, la izquierda, arriba y abajo....el problema es que esos ultimos 4 botones se mueve mas alla del movieclip y se termina el movieclip y se mueve en espacio en blanco....yo solo quiero que se mueve de derecha , izquierda, arriba y abajo dentro de el mismo movieclip.el codigo que tiene el botón derecho por ejemplo es este:

onClipEvent (enterFrame) {

if(_root.u.hitTest(_level0._xmouse,_level0._ymouse,true)){

tempx = _root.holder._height;

tempy = _root.holder._width;

xpos = _root.holder._x;

ypos = _root.holder._y;

xtomove = tempx/100;

ytomove = tempy/100;

_root.holder._y = ypos+ytomove;

}


}

El nombre del movieclip es holder y las medidas de el son: ancho 638.9 y alto 396.9

Agradezco que alguien me ayude para saber como debo colocar el código para que me pueda funcionar en el mapa...
MIl gracias!!
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

Limitar el movimiento de un mapa dentro de un movieclip

Publicado por Alejandro (369 intervenciones) el 24/06/2023 00:37:40
Aquí tienes una solución para limitar el movimiento del mapa dentro del movieclip:

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
onClipEvent(enterFrame) {
    var tempx:Number = _root.holder._height;
    var tempy:Number = _root.holder._width;
    var xpos:Number = _root.holder._x;
    var ypos:Number = _root.holder._y;
    var xtomove:Number = tempx / 100;
    var ytomove:Number = tempy / 100;
 
    var newX:Number = xpos;
    var newY:Number = ypos;
 
    if (_root.u.hitTest(_level0._xmouse, _level0._ymouse, true)) {
        newX = xpos;
        newY = ypos + ytomove;
    }
 
    // Limitar el movimiento dentro del movieclip
    var holderWidth:Number = _root.holder._width;
    var holderHeight:Number = _root.holder._height;
    var mapWidth:Number = _root.map._width;
    var mapHeight:Number = _root.map._height;
 
    var minX:Number = (holderWidth - mapWidth) / 2;
    var minY:Number = (holderHeight - mapHeight) / 2;
    var maxX:Number = (holderWidth + mapWidth) / 2;
    var maxY:Number = (holderHeight + mapHeight) / 2;
 
    newX = Math.max(minX, Math.min(maxX, newX));
    newY = Math.max(minY, Math.min(maxY, newY));
 
    _root.holder._x = newX;
    _root.holder._y = newY;
}

En este código, hemos agregado la lógica para limitar el movimiento del mapa dentro del movieclip llamado "holder". Primero, calculamos las coordenadas mínimas y máximas permitidas para el movimiento dentro del movieclip, teniendo en cuenta las dimensiones del movieclip y del mapa.

Luego, utilizamos la función `Math.max()` y `Math.min()` para asegurarnos de que las nuevas coordenadas (`newX` y `newY`) se mantengan dentro de los límites establecidos.

De esta manera, el mapa se moverá dentro del movieclip y no se desplazará más allá de los límites definidos.

Espero que esta solución te sea útil.
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