- Tenemos un movie clip que contiene un cuadro de texto dinámico llamado "título", sacamos 3 copias del clip al escenario y les ponemos nombre de instancia que terminen en número empezando de 0: let0, let1, let2, tenemos 3 clips con nombres.
- Escribir en el primer fotograma:
var textos=["Opción 1", "Opción 2", "Opción 3"]
for(i=0; i<=textos.length; i++){
_root["let"+i].titulo=textos[i]
} - Función prototipo:
Movieclip.prototype.cambiomas=function(){
_xscale+=(200-_xscale)/5
_yscale+=(200-_yscale)/5
}
Acabamos de crear una funcion "cambiomas" para aumentar el tamaño del clip, explico los cálculos: la idea es que el clip crezca no de un tirón sino como proceso...paso a paso, que se vea que crece, entonces usamos matemáticas: si 100 es el tamaño del clip (100%) el doble es 200, para simular un cambio a paso lento le restamos a 200 el valor del tamaño actual del clip y lo dividimos entre 5 (5, 6, 7 o lo que quieras, a menos cantidad más rápido) esto se debe a cositas sencillas: si dividimos: 100/10, sería 10, pero si es 100/20 sería 5...el cambio sería más lento (de 5 en 5) si se pone números más altos. El clip para al llegar a 200 ¿porque? porque su cálculo llegaría a un total de 200+=0.0...(léase 200-200).Mucho ojo con la supremacía en las operaciones en Flash: la suma es al último, primero va lo de entre parentesis, luego la división, luego la suma. Ve el diccionario de AS para más detalles "Precedencia de Operadores". - La función de disminución tiene el mismo estilo:
Movieclip.prototype.cambiomenos=function(){
_xscale+=(100-_xscale)/5
_yscale+=(100-_yscale)/5
}
Es decir el límite de disminución es el tamaño original: 100. - Una vez que tenemos esto en el frame inicial pongamos falta invocar estas funciones desde los clips, dentro de cada clip va el mismo script:
onClipEvent(enterFrame){
/*Si el mouse se coloca sobre el clip pues se invoca a la
función de aumento*/
if(this.hitTest(_root._xmouse,_root._ymouse,true)){
this.cambiomas()
/*SINO (es decir si no está sobre el clip) se aplica la de
desaumento*/
}else{
this.cambiomenos()
}
}
No hay comentarios.:
Publicar un comentario