Hola Bede. Tengo unos sprites (el mismo miembro) con un behaviour donde les adjudico un member concreto y una opacidad concreta. Luego surgió la cuestión de que deberían aparecer en transparente e ir haciéndose opacos hasta la opacidad deseada.Lo hice con keyframes, pero no resultó. Lo hice con un script de fotograma, pero tampoco resultó. Me imagino que es porque tiene preferencia un behaviour aplicado al sprite que un script de fotograma... ¿Cómo lo puedo solucionar? Muchas gracias, como siempre. Juan
Esto es justo lo que buscas. Es un behaviour y debes vinculalo al miembro que dices y rellenar los parámetros que se te piden: --Creado por bedelludrica property p_sprite,p_tranparencia,\ p_transparencia_min, p_vel_transparencia --property p_transparencia_inicial on getPropertyDescriptionList set lista = [:] --addProp lista, #p_transparencia_inicial,\ -- [#default: 5, #format:#integer, #comment: \ -- "cual quiere que sea la transparencia inicial",\ -- #range: [#min:70, #max:100]] addProp lista, #p_transparencia_min, \ [#default: 60, #format:#integer, #comment: \ "cual quieres que sea la minima transparencia",\ #range: [#min:0, #max:99]] addProp lista, # p_vel_transparencia,\ [#default: 5, #format:#integer, #comment: \ "velocidad de cambio de transparencia", \ #range: [#min:1, #max:5]] return lista end on beginsprite me p_sprite = sprite(me.spritenum) p_tranparencia = p_sprite.blend end on exitframe me p_tranparencia = p_sprite.blend if rollover(me.spritenum) then if p_tranparencia > p_transparencia_min then p_sprite.blend= \ p_tranparencia - p_vel_transparencia end if else if p_tranparencia <= 100 - p_vel_transparencia then p_sprite.blend=\ p_tranparencia + p_vel_transparencia end if end if end on getBehaviorTooltip me return \ "Este comportamiento debes lanzarlo a un objeto que quieres que tenga un efecto de transparencia al entrar el ratón" & \
No me expliqué bien: Se trata de una presentación de pintura, con diferentes partes. Cada una tiene unos botones, cada uno de los cuales representa un cuadro.El comportamiento que hice, adjudica a cada uno de los botones una imagen de icono y luego una imagen de cuadro.La transparencia está al 50. Al pasar por encima de cada uno de ellos se pone a 100. Al pulsar, aparece el cuadro. Al cambiar de parte, quiero que vayan desapareciendo, para que aparezcan otros botones para otros tipos de cuadros. Verás, supongo que se solucionaría utilizando para cada botón un sprite cuyo miembro original sea el miembro del botón.Yo utilicé un mismo miembro inicial para todos los botones, y cambiaba el miembro con un comportamiento...
Me imagino que es esto: --Creado por bedelludrica property p_sprite,p_tranparencia,p_cam,i on getPropertyDescriptionList set lista = [:] addProp lista, #p_cam,\ [#default: "", #format:#graphic, #comment: "escoge el miembro que se cambia al pulsar"] addProp lista, #i,\ [ #format:#integer, #comment:"excribe el sprite que cambias",#default:1] return lista end on beginsprite me p_sprite = sprite(me.spritenum) p_sprite.blend =50 end on exitframe me if rollover(me.spritenum) then if p_sprite.blend < 100 then p_sprite.blend= p_sprite.blend + 5 else if p_sprite.blend>50 then p_sprite.blend=p_sprite.blend - 5 end if end on mousedown me sprite(i).member= p_cam end
Esa parte ya la había conseguido, pero lo que no me funcionaba era el que se fueran haciendo opacos los botones hasta hacerse transparentes, para pasar a otra parte.Del mismo modo, al entrar en esa parte, deberían ir apareciendo, de 0 a 50.
¿Cómo?. Es que me cuesta ver la idea así con palabras
Supón, que eres pintor, y catalogas tus obras por tipos, y ademas de la galería, tienes una biografía, y una parte de contactos, etc. Estas en biografía, y pasas a una parte de galería. Pues ahí está el temita: cada parte de la galería tiene sus botones de cuadros, y quiero que aparezcan de 0 a 50. Del mismo modo, quiero que si vuelves a ir a la biografía, estos botones o los que haya, vayan desapareciendo de 0 a 50. Haciendo keyframes no funcionan, y con script de fotograma tampoco... Joder muchas gracias por tu paciencia, Bede.
Creo que es esto: --Creado por bedelludrica property p_sprite,p_tranparencia,p_cam,is,numero property p_vel_transparencia,p_vel_transparencia2,p_lista_sprites property i, p_entro, p_salgo on getPropertyDescriptionList set lista = [:] addProp lista, # p_vel_transparencia,\ [#default: 5, #format:#integer, #comment: \ "velocidad de cambio de transparencia al pasar el raton sobre el", \ #range: [#min:1, #max:5]] addProp lista, # p_vel_transparencia2,\ [#default: 2, #format:#integer, #comment: \ "velocidad de cambio de transparencia en las entradas y salidas de sprite", \ #range: [#min:1, #max:5]] addProp lista, #p_lista_sprites, [#comment: "lista de sprites",\ #format: #list, #default: [1,3]] addProp lista, #numero, [#comment: "cual es el primer sprite que aparece??",\ #format: #list, #default: 1] return lista end on beginsprite me p_sprite = sprite(me.spritenum) repeat with i in p_lista_sprites if i <> numero then sprite(i).visible =0 else sprite(i).blend =0 p_entro=1 sprite(i).visible =1 end if end repeat me.inicio() end on exitframe me if p_entro=1 then me.inicio() else if p_salgo=1 then me.fin() else if rollover(me.spritenum) and p_entro=0 then if p_sprite.blend < 100 then p_sprite.blend= p_sprite.blend + p_vel_transparencia else if p_sprite.blend>50 then p_sprite.blend=p_sprite.blend - p_vel_transparencia end if end on cambioini me p_entro=1 sendSprite(me.spriteNum ,#encendido) end on cambiofini me p_salgo=1 repeat with i in p_lista_sprites if i = me.spriteNum then p_salgo=1 end if end repeat end on apagado me p_salgo=1 --sprite(me.spriteNum).visible = FALSE end on apagado2 me sprite(me.spriteNum).visible = FALSE end on encendido me sprite(me.spriteNum).visible = 1 end on inicio me h=sprite(me.spritenum).blend h= h+p_vel_transparencia2 sprite(me.spritenum).blend=h if sprite(me.spritenum).blend>=50 then p_entro=0 end on endsprite me p_salgo=1 end on fin me h=sprite(me.spritenum).blend h= h-p_vel_transparencia2 sprite(me.spritenum).blend=h if sprite(me.spritenum).blend<=5 then p_salgo=0 sprite(me.spritenum).visible=0 end if end Un ejemplo sería por ejempñlo con tres elementos: ---- on mouseup me sendsprite(3,#cambiofini) sendsprite(5,#cambiofini) sendsprite(1,#cambioini) end ------------- on mouseup me sendsprite(5,#cambiofini) sendsprite(1,#cambiofini) sendsprite(3,#cambioini) end ----- on mouseup me sendsprite(5,#cambioini) sendsprite(1,#cambiofini) sendsprite(3,#cambiofini) end
Mejor dame tu email y te lo mando
No, no es necesario, con un poquito de lomio y lo tuyo, me voy a apañar, ya lo he conseguido prácticamente. Muchas gracias por todo, como siempre, el mejor.