Fondu à partir d'un clip

Résolu
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 12 août 2006 à 16:50
cs_kususensu Messages postés 4 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 7 janvier 2008 - 7 janv. 2008 à 21:53
    Bonsoir,

Je cherche à faire un fondu à partir d'un clip, grâce au code.Je suppose qu'il faut utiliser l'attribut _alpha mais comment faire évoluer la valeur dans le temps, par exemple passer d'un alpha 0 à un alpha 100 en 5 secondes.

merci à tous pour vos réponses.

++

11 réponses

fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
15 août 2006 à 12:01
Cela vient du fait que ce code ne se pose pas sur le clip, tel qu'il est écrit ca serait incohérent. Il faut donc le poser sur une image de la scène. Si tu veux le mettre sur le clip intègre le dans un   onClipEvent()   .
Sinon ce que tu peux en faire, c'est en faire une fonction. Tu place ce morceau de code à la racine de ton animation :

function Fondu( NbrF, NbrT, NbrA, Clip ){
   var AlphF = NbrA / ( NbrF * NbrT ); 
   var i = NbrA / AlphF
      onEnterFrame = function() {
      if ( i != 0 ) {
         Clip._alpha -= AlphF;
         i--
      } else if ( i == 0 ) {
         delete onEnterFrame;
      }
   }
}

Et puis tu peu l'appeler via à bouton ou via un   onClipEvent()   sur le clip comme ceci par exemple :

on (press) {
   _root.Fondu( 30, 5, 100, _level0.mon_clip );
}

L'interet de la fonction c'est qu'elle peut être utilisée pour n'importe quel objet et n'importe quelle donnée, n'importe quand.
Reste à adapter en fonction de tes besoins.

Aller @+
Flo
3
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
12 août 2006 à 17:11
Essay un truc un peu comme ca :



// Nombre d'image à la seconde


var NbrF = 30;
// Durée en seconde
var NbrT = 5;
// Alpha à retirer
var NbrA = 100;
// Apla retré par image
var AlphF = NbrA / ( NbrF * NbrT );







var i = NbrA / AlphF
onEnterFrame = function() {
   if ( i != 0 ) {
      mon_clip._alpha -= AlphF;
      i--
 } else if ( i == 0 ) {
      delete onEnterFrame;
   }
}







Espéran que c'est ce que tu recherche !
Aller Bon Courage @+
Flo
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
13 août 2006 à 19:40
Salut Flo,

Merci pour ta réponse.
Je viens d'essayer, hélas, sans succès.

Je te copie colle les erreurs affichées :
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 2 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     var NbrF = 30;
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 4 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     var NbrT = 5;
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 6 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     var NbrA = 100;
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 8 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     var AlphF = NbrA / ( NbrF * NbrT );
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 10 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     var i = NbrA / AlphF
**Erreur** Symbole tache animée, calque tache animée, image = 1 :Ligne 11 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     onEnterFrame = function() {

Total des erreurs ActionScript : 6      Erreurs signalées : 6

Merci pour ton aide.
Si tu as une idée...

++
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
15 août 2006 à 15:24
Salut Flo,


Je te remercie, c'est nickel.

Vraiment sympa !


@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
15 août 2006 à 15:26
De rien, ca me fais lpaisir !
Aller @+
Flo
0
cs_kususensu Messages postés 4 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 7 janvier 2008
5 janv. 2008 à 16:23
Salut nougitch
merci pour ton code, mais j'aimerais faire l'inverse c'est à dire passer un clip de 0 à 100%
merci



Kuzco
0
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
6 janv. 2008 à 18:48
Bonsoir
Kususensu
,
Il s'agit plus du mien que de celui de Nougitch, mais tellement de chose ne paraisse pas telle qu'elles sont ...

Bref, pour répondre à ta question, tu prend le même code, mais tu remplace tous les moins par des plus et tous les 0 par des 100.
Bon cela va fonctionner, mais il est évident que si tu recherche un code qui puisse te fournir une très grande précision au niveau de la gestion de l'apha il faudra prendre autre chose. Ici effectivement le code prend des nombres qui peuvent contenir des dixaine de chiffre après la virgule, ce qui créer une marge d'erreur ( tu peu demander un élevement de 100 mais au final avoir 97.125468845 ou 109.54876214.

Si tu recherche de la précision et non le résultat a proprement parler il faudra utiliser une structure différente pour ton code.
A la limite si tu en a besoin tu me demandra, je verrais ce que je pourrais faire !

@+
Bon Code
Florian
0
cs_kususensu Messages postés 4 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 7 janvier 2008
6 janv. 2008 à 19:15
Merci de ta réponse je pense que cela me suffira je fais juste un site pour une association et rien de bien professionnel.

Kuzco
0
cs_kususensu Messages postés 4 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 7 janvier 2008
6 janv. 2008 à 20:13
Re Bonsoir Fguitton, je n'y arrive pas, je vois pas ou sont les moins, j'utilise le premier script sur une image frame.... au passage j'ai un petit niveau mais je comprends très vite.

Kuzco
0
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
7 janv. 2008 à 21:34
Bonsoir, alors pour répondre à ta petite question et puisque la précisioin ne t'interesse gère, tu peux dévier le code un peu comme ca pour qu'il puisse avoir l'action que tu souhaite :



function Fondu( NbrF, NbrT, NbrA, Clip ){
   var AlphF = NbrA / ( NbrF * NbrT ); 
   var i = NbrA / AlphF
      onEnterFrame = function() {
      if ( i != 100 ) {
         Clip._alpha += AlphF;
         i++
      } else if ( i == 100 ) {
         delete onEnterFrame;
      }
   }
}



Ca n'est pas propre, mais cela fonctionne ( la marge d'erreur que j'ai décrite précédement incluse, bien sûr ! )
Sur ce, bonne soirée !

@+
Bon Code
Florian
0
cs_kususensu Messages postés 4 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 7 janvier 2008
7 janv. 2008 à 21:53
Merci les précision m'intéresse tout de même, je t'avoue que j'ai compris ce que le code veut dire en partie.... bonne soirée et encore merci

Kuzco
0
Rejoignez-nous