| |||
onClipEvent Buenas. Hace unos días que vengo atrancado con un código. Agradezco a cualquiera que pueda echarme una mano. Imaginemos un pintor que en una mano porta un pincel y en otra una paleta con 4 colores. Cada color es un clip de película. Al hacer click sobre uno de estos colores (clip) el personaje hacerca el pincel al color elegido y la punta del mismo se tiñe de dicho color. Los clips se llaman azul, rojo, verde, amarillo Este es el código de cada uno de ellos onClipEvent (load) { //creo el objeto color objColor = new Color(this); //obtengo el color de la tinta aplicada a este clip estecolor=objColor.getRGB(); } onClipEvent (mouseDown) { //acá le doy valor a unas variables definidas en la peli principal que determinarán la posición del pincel y el color que debe tomar _root.angulo = 100; _root.posicionX= -25; _root.posicionY= 28; _root.colorelegido= estecolor; } onClipEvent (mouseUp) { //acá hago que el pintor avance al fotograma 2, tomando la postura adecuada(gira el brazo y la cabeza hacia la paleta de colores) if (this.hitTest(_root._xmouse, _root._ymouse, true)) { _parent._parent.gotoAndPlay(2); } } Mi problema es que las variables angulo, posicionX, posicionY y colorelegido toman siempre el valor del primer clip creado (azul) Si hago click sobre otro clip (amarillo) no cambia el valor de las variables y sigue pintando azul, y el pincel se coloca sobre el azul. Espero se entienda cual es mi problema. Si alguien sabe donde está el tema le agradezco mucho. |
| |||
Hola. El pintor es un movieclip. Al hacer el código en la peli principal, no sé como decir que cuando yo haga click sobre determinado clip las variables que mencioné tomen tal valor. |
| |||
Solucionado! Le agregué: if (this.hitTest(_root._xmouse, _root._ymouse, true)) dentro de onClipEvent, para que chequeara que realmente estaba haciendo click sobre el clip. Mi problema era que si yo hacía click en cualquier parte del escenario mi clip "azul" cargaba constantemente su color a la variable global, en vez de hacerlo cuando realmente lo necesitaba. Saludos! |