Mask en AS3

Petitefievel Messages postés 43 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 6 mai 2011 - 28 avril 2011 à 21:51
Petitefievel Messages postés 43 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 6 mai 2011 - 6 mai 2011 à 12:10
Bonsoir,

Je sais que pas mal de question on déjà été posée à ce sujet, mais je n'ai pas trouvé ma réponse. En fait je voudrais juste faire un masque en AS3.
Mais le truc c'est que mon masque est un clip, appelé 'lapin' et l'image sur laquelle se place mon masque sont deux swf appelés par des addChild.
Du coup je sais pas trop trop comment m'y prendre. Je vous montre mon ptit bout de code!
//charger le gif
var gif:Loader = new Loader();
addChild(gif);
gif.load(new URLRequest("oeil.swf"));
gif.y=170;
var gif2:Loader = new Loader();
addChild(gif2);
gif2.load(new URLRequest("oeil.swf"));

// on crée un nouveau Clip qui sera le masque
var clipMask:MovieClip = lapin;
// on ajoute ce clip sur la scene
addChild(clipMask);
// on applique un mask a clip
lapin.mask = gif;

Bon peut-être que ça vous parrait un très mauvais code, mais je débute en AS3! soyez indulgent! :D
en tout cas merci pour vos future réponse...

5 réponses

aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
29 avril 2011 à 17:16
bonjour

Peut etre que si tu met le mask sur ton loader ca marchera un peu mieux (et pas l'inverse)
gif.mask=clipmask;

Cordialement
0
Petitefievel Messages postés 43 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 6 mai 2011
29 avril 2011 à 21:42
bonsoir!
hum ça ne fonctionne pas j'avais essayé auparavant et je viens de reéssayer!
il faut peut être que mes gif soit transformés en movieclip non?
et ça donnerais...
var gifs:MovieClip = gif+gif2;

un truc comme ça?
je suis pas trop convaincu!!!
bonne soirée et merci quand même pour ta réponse!
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
29 avril 2011 à 22:50
Dans ce cas:

1]Passe par un conteneur (Sprite ou MovieClip,) sur lequel tu ajoute le mask et qui a pour enfant gif

2]Avant cela revois, ta facon d'utiliser ton oeil.swf
Pourquoi loader 2 fois la meme chose?
L'ecouteur d'evenemnt sur le loader est absent?
Est ce que faire un swf spécifique pour oeil est indispensable?

3]encore avant, utilisre la doc officielle comme document de refernce c'est une bonne pratique et en particulier pour connaitre les objets et leurs méthodes et événements associées.
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
2 mai 2011 à 21:01
Bonjour,

Il te faut mettre un EventListener pour l'evenement Event.INIT. A partir de la tu appliques un masque (avec cacheAsBitmap).

Parce que ton code la, il load (de maniere asynchrone) les objets et tu appliques un masque qui n'est pas encore charge.

Bonne continuation
http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
0

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

Posez votre question
Petitefievel Messages postés 43 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 6 mai 2011
6 mai 2011 à 12:10
Bonjour à vous deux,

Désolée pour le retard de réponse, je n'ai pas pu essayer vos propositions. Mais je pourrais m'y remettre ce week-end, je vous tiens au courant de l'avancement.
En attendant, aerolyte pour répondre à ta question, j'ai deux fois oeil.swf, car en fait j'avais pas réussi à le redimensionner donc pour que mon gif animé prenne tout le document, je l'ai dupliqué!
Et du coup faire un swf spécifique pour l'oeil me semble indispensable, car c'est la seule façon que j'ai trouvé d'intégrer un gif animé. Existe-t-il une solution plus simple? je n'ai rien trouvé à propos de l'intégration de gif animé.

En tout cas, merci pour votre aide et bonne fin de journée!
0
Rejoignez-nous