Miaws

Hola,
Quiero realizar un zoom sobre unas imágenes al pulsar un botón de zoom.
Para ello he creado una película diferente a la principal llamada ZoomGrafico en la cual he puesto el gráfico en el sprite 1. (el gráfico esta compartido por las dos películas en un castlib externo)
Y al pulsar sobre el botón de zoom, abro dicha película en una MIAW, y le mando un mensaje de que cambie el gráfico que tiene por el que corresponda.
Y aquí comienzan los problemas:
1. Al decírselo, me cambia la imagen pero solo momentáneamente, ya que vuelve al gráfico original de dicha película.
2. Me gustaría que la foto estuviera centrada en la ventana que abro, y he probado varias cosas pero no lo he conseguido. Lo más parecido que he conseguido que la ventana tenga el ancho y alto del gráfico pero no consigo encuadrarlo dentro.
¿Cómo puedo solucionar esto?
Gracias
[email protected]
Respuesta
1
¿Tienes mi abremiaws?
Si no lo tienes te lo mando a tu correo
Si lo tienes y no te sirve repíteme tu problema porque te has explicado un poco mal. Os agradecería a la gente que me preguntáis que seáis claros y explícitos en las preguntas, porque lo importante es que yo me entere de exactamente de lo que queréis para ayudaros adecuadamente.
Hola,
Lo primero, no tengo tu script de abrir miaws, he usado el que venia en la librería de behavior de director (tengo director 6.5 todavía...) Pero me gustaría que me mandases tu script, no te preocupes yo lo transformo, y ver si así se soluciona el problema.
Lo segundo, intentare explicarme mejor:
Tengo dos películas, una película llamada principal donde tengo varias imágenes pequeñas puestas cada una con un botón de zoom al lado para que al pulsar sobre el se vea la foto en grande. La segunda, la he llamado zoomgrafico y esta en el mismo directorio que la principal, y sólo contiene un miembro bitmap situado en el canal 1 y el castlib donde tengo las imágenes.
Lo que he hecho, es poner el behavior de abrir movie a cada botón zoom de la principal, de tal forma que me abra la película zoomgrafico. Luego, a cada uno de estos botones les he añadido un behavior propio para que diga a la miaw abierta, el gráfico que tiene que poner, es el siguiente:
property pVentanaDestino -- ZoomGrafico
property pSpriteGrafico -- 1
property pMemberGrafico -- Foto 1
property pCastlib -- Imagenes
on mouseUp
TellComandos (pVentanaDestino, pSpriteGrafico,pMemberGrafico,pCastlib)
end
on TellComandos pVentanaDestino, pSpriteGrafico, pMemberGrafico, pCastLib
tell window pVentanaDestino
puppetsprite pSpriteGrafico,TRUE
set the membernum of sprite pSpriteGrafico= the number of member pMemberGrafico of castlib pCastlib
set nMiembro= the membernum of sprite pSpriteGrafico
set Ancho = the width of member nMiembro of castlib pCastlib
set Alto = the height of member nMiembro of castlib pCastlib
set izq = the left of sprite pSpriteGrafico
set arriba = the top of sprite pSpriteGrafico
set the rect of window pVentanaDestino =rect(izq, arriba,izq+Ancho, arriba+Alto)
-- set the rect of sprite pSpriteGrafico=the rect of window pVentanaDestino -- Esto es una prueba a ver si la cosa funcionaba asi o no
-- PuppetSprite pSpriteGrafico,FALSE --
end tell
end
on getPropertyDescriptionList
set p_list=[#pVentanaDestino:[#comment:"Nombre ventana", #format:#string, #default:""], #pSpriteGrafico: [#comment:"Numero del sprite del grafico", #format:#integer, #default:0], #pMemberGrafico:[#comment:"Nombre del miembro", #format:#string, #default:""], #pCastlib:[#comment:"Nombre del castlib", #format:#string, #default:"Internal"]]
return p_list
end
on getBehaviorDescription
return "Maneja el evento que ocurre en un miembro al ser pulsado con el raton, indicando a la MIAW introducida el grafico que ha de mostrar y redimensionandola"
end
Entonces lo que ocurre al pulsar cualquier botón zoom, de la película principal, al que tengo asociado este behavior y el de abrirmiaw, es que:
1. Me abre la Miaw ZoomGrafico. Ok.
2. Me sustituye el gráfico inicial de ZoomGrafico, por el indicado en pMemberGrafico. Ok.
3. En menos de un segundo, me sustituye el gráfico que acabo de poner por el gráfico inicial del zoomgrafico. Error.
4. Y mi intento porque el dibujo a poner este encuadrado en la nueva miaw... Error.
Así que mis preguntas son dos distintas:
1. ¿Por qué pierdo el pMemberGrafico de la Miaw abierta volviendo al inicial? ¿No debería poner ningún miembro de dibujo en el sprite 1 de zoomgrafico y dejarlo vacío? No se que hago mal.
2. ¿Cómo consigo que el dibujo se vea entero, "encajado" en la nueva miaw?
¿Mejor ahora?
Gracias.
Voy a analizar esta pregunta por la noche y en pocas horas te la respondo, pero el texto que me pedías lo tienes aquí:
--------Comportamiento para abrir miaws
property p_nombre_archivo,p_tipo_ventana,p_x,p_y,p_alto,p_ancho
property p_activa_cerrar
on getPropertyDescriptionList me
list=[:]
addprop list, #p_nombre_archivo,[#comment:"inserta el nombre de la pelicula que vas abrir",\
#format:#string,#default:" "]
addprop list, #p_tipo_ventana,[#comment:"inserta el tipo de ventana que vas abrir",\
#format:#integer,#range:[0,1,2,3,4,5,8,12,16,49],#default:8]
addprop list, #p_x,[#comment:"inserta la coordenada x de ventana que vas abrir",\
#format:#integer,#default:8]
addprop list, #p_y,[#comment:"inserta la coordenada y de ventana que vas abrir",\
#format:#integer,#default:8]
addprop list, #p_ancho,[#comment:"inserta la anchura de ventana que vas abrir",\
#format:#integer,#default:400]
addprop list, #p_alto,[#comment:"inserta la altura de ventana que vas abrir",\
#format:#integer,#default:400]
addprop list, #p_activa_cerrar,[#comment:"¿quieres que al abrir esta ventana se cierren las anteriores?",\
#format:#boolean,#default:true]
return list
end getPropertyDescriptionList
on mouseup me
if p_activa_cerrar then
cerrar_ventanas(me)
end if
window(p_nombre_archivo).rect= rect(p_x,p_y,p_x+p_ancho\
,p_y+p_alto)
window(p_nombre_archivo).windowtype=p_tipo_ventana
open window p_nombre_archivo
end
on cerrar_ventanas me
n=count(the windowlist)
repeat with i=1 to n
close window(i)
forget window(i)
end repeat
end
-------el comportamiento para cerrar miaws es :
property p_nombre_archivo
on getPropertyDescriptionList me
list=[:]
addprop list, #p_nombre_archivo,[#comment:"nombre de la pelicula que vas cerrar",\
#format:#string,#default:" "]
return list
end getPropertyDescriptionList
on mouseup me
close window p_nombre_archivo
forget window p_nombre_archivo
end

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas