begin process at 2012 05 26 11:17:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Appel de clip


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Appel de clip

mardi 10 novembre 2009 à 13:15:54 | Appel de clip

projer

Bonjour,

je développe mon premier site en as3, j'ai réussi à faire un menu déroulant sans trop de problème mais là je bloque sur une chose :

j'aimerai bien savoir comment on fait en as3 pour pouvoir appeler un clip ou un sprite.

Par exemple :

je mets 2 clips dans ma bobliothèque et veux que quand je clique sur un bouton, que ça enlève le clip fenetre situé en face

for (var i=0; i<3; i++){
var bouton:clip1=new clip1();
bouton.x=10;
bouton.y=10+100*i;
bouton.name="bouton"+i;
addChild(bouton);
bouton.addEventListener(MouseEvent.CLICK, supprimer);

var fenetre:clip2=new clip2();
fenetre.x=300;
fenetre.y=10+30*i;
fenetre.name="fenetre"+i;
addChild(fenetre);

}


function supprimer(evt:MouseEvent){
evt.currentTarget.x+=10;
//suppression du clip en face?
}

Merci!

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
mardi 10 novembre 2009 à 15:05:44 | Re : Appel de clip

inaden

Bonjour,
pour supprimer un clip, je pense que removeChild(leclip) devrait suffire, ou leclipPorteur.removeChild(leclip) si le clip a été placé dans un clip dont le nom est leclipPorteur.
Pour faire apparaître un clip dans la bibliothèque, il faut d'abord dans les propriétés le déclarer. Donc tu fais un clic droit sur ton clip dans la bibliothèque et tu coche exporter l'animation.
Ensuite, tu déclares ton clip par AS :

var nomDeLOccurence : NomduClipDansLabibli = new NomduClipDansLabibli();
(par exemple si ton clip dans la bibli s'appelle MonClip, le plus simple est de faire : var monClip : MonClip = new MonClip())

Ensuite, quand tu en a besoin tu fais apparaître ton clip avec addChild(monClip).

Pour la disparition tu peux aussi utiliser monClip.visible = false;
Voilà, j'espère que cela t'aidera.




Tout vient à qui sait attendre
mardi 10 novembre 2009 à 23:09:33 | Re : Appel de clip

projer

Merci pour ta réponse Inaden mais ce n'est pas ce que je demandais:)
Mais je me suis pas très bien exprimé je pense sur ce que je veux faire.

Ce que je n'arrive pas à faire, c'est quand on créé un clic dynamiquement à l'aide d'une boucle for, comment on peut agir sur les propriétés de ce clip en cliquant sur un autre?


Reprenons mon exemple plus haut, en fait je veux faire bouger le clip fenetre qui a pour nom fenetre0 en cliquant sur bouton0.

function supprimer(evt:MouseEvent){
evt.currentTarget.x+=10;// on bouge le bouton sur lequel on clique

fenetre0.x+=10;//donne une erreur
fenetre.x+=10;//fait bouger le 3° clip (fenetre2) et non le premier.
}

Merci encore

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
mercredi 11 novembre 2009 à 10:40:31 | Re : Appel de clip

inaden


Il faudrait savoir comment tu définis tes clips. C'est surement là que réside le hic.
Donne nous le code de ta boucle.

Tout vient à qui sait attendre
mercredi 11 novembre 2009 à 11:45:16 | Re : Appel de clip

projer


Il est dans le premier post :)

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
mercredi 11 novembre 2009 à 12:00:38 | Re : Appel de clip

inaden

Désolé, je viens de me lever !
Essaie peut-être de mettre tes clips dans un tableau :
Code ActionScript :
var fenetre0:clip2=new clip2();
var fenetre1:clip2=new clip2();
var fenetre2:clip2=new clip2();
public var mesClips : Array = new Array (fenetre0,fenetre1,fenetre2);

Et pour faire bouger tes clip tu passe par ton tableau :
mesClips[i].x + = 10;


Tout vient à qui sait attendre
mercredi 11 novembre 2009 à 12:24:59 | Re : Appel de clip

projer

Pas mal comme possibilité le tableau mais ce qui me pose problème en fait c'est une déclaration dynamique de clip.


Admettons que j'importe un XML et que je dois créer un nombre de clips en fonction du nombre de n½uds.
En as2.0, on pouvait écrire :

eval("fenetre"+i):clip2= new clip2() //ou avec this...

or il me semble qu'on ne puisse pas le faire en as3 (j'ai des messages d'erreur à chaque fois) et à ce moment là, ça me pose un problème pour appeler ces clips quand l'action vient d'un autre clip (exemple cliquer sur clip 1 pour supprimer un de ses clips créé dynamiquement.

Merci pour tes réponses en tout cas

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
mercredi 11 novembre 2009 à 12:49:15 | Re : Appel de clip

inaden

Réponse acceptée !
Oui, j'ai eu la même réflexion que toi, et je n'ai pas encore trouvé de solution à ce problème.
Ou tout du moins, je le contourne.
Par exemple, une fois mon xml importé, je récupère le nombre de noeud :
Code ActionScript :
var nbreDeNeuPerso:XMLList = persoXML.children();
nbrePerso=nbreDeNeuPerso.length();// renvoie le nombre de référence total


Ensuite, je fais une boucle qui me permet de ranger ce dont j'ai besoin dans un tableau qui est défini vide par avance :
Code ActionScript :
public var listeCd : Array = new Array();

Puis dans ma fonction qui traite le xml
Code ActionScript :
for (var m : int = 0; m < nbreCd ; m++) {
var ind4 : int = m+1;
//trace("----------- >> creaMenuRef  ::  cdXML.children().titre = \n"+cdXML.children().titre);
listeCd[m]={nom:target4.(@identifiant=="refCd"+[ind4]).titre,image:target4.(@identifiant=="refCd"+[ind4]).img,chapeau:target4.(@identifiant=="refCd"+[ind4]).soustitre,letexte:target4.(@identifiant=="refCd"+[ind4]).txt,lelien:target4.(@identifiant=="refCd"+[ind4]).lien};
}


Je sais que cela ne répond pas vraiment à ton besoin, mais peut-être que cela te donnera une piste pour traiter ton problème.
Par exemple :
Code ActionScript :
var listeCd : Array = new Array();
for (var i : int = 0; i < 3 ; i++) {
 	listeCd[i] = new Fenetre();
 	trace("listeCd["+i+"] = "+listeCd[i]);
	addChild(listeCd[i]);
	listeCd[i].y = i*80;
	listeCd[i].x = 10
}

Il suffit alors de remplacer la borne de la boucle par nbreCd (qui est le nombre de noeud) et le tour est joué.

Fait une anim avec un clip (un carré de 70 sur 70 par exemple )dans la bibli qui est exporté sous le nom de Fenetre et place le code ci-dessus sur ta première image clé, tu auras trois clip qui s'afficherons les uns en dessous des autres.
Tiens moi au courant.

Tout vient à qui sait attendre
mercredi 11 novembre 2009 à 13:49:18 | Re : Appel de clip

projer

Réponse acceptée !
Nickel, ça marche! Quelle histoire quand même!!! Moi qui pensait que l'as3 simplifierai un peu les choses, pour le coup, c'est raté^^

Pour le tester, j'ai repris ton code et rajouté un bouton qui bouge aléatoirement un des 3 clips. Je le mets là, ça epu servir à d'autres personnes peut être qui auront le même problème :

var listeCd : Array = new Array();
for (var i : int = 0; i < 3 ; i++) {
listeCd[i] = new Fenetre();
trace("listeCd["+i+"] = "+listeCd[i]);
addChild(listeCd[i]);
listeCd[i].y = i*80;
listeCd[i].x = 10
}

bouton.addEventListener(MouseEvent.CLICK,disparition);

function disparition(evt:MouseEvent){
var hasard:int = Math.random()*3;
listeCd[hasard].x+=10
}


--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice
mercredi 11 novembre 2009 à 13:49:42 | Re : Appel de clip

projer


Oups j'ai oublié, merci encore et encore pour ton aide :)

--------------------------------------------------------

http://www.projer.fr - dev web
http://www.lysdesign.fr - DA print / web - Illustratrice

1 2

Cette discussion est classée dans : bouton, fenetre, clip, color, blue


Répondre à ce message

Sujets en rapport avec ce message

Transparance de fenetre [ par neovalpox ] alors voila. j'explique mon probleme :j'ai une fenetre (avec un vulagaire startDrag() et stopDrag()) qui marche très bien. maintenant j'aimerai ajoute clip sous forme de fenetre [ par soussan ] sltje fait un site ss flash et j'ai des rubrique avec le bouton suite alors pour faire la suite de texte je veux creer un clip comme une fentre qui s' suppression du clip parent [ par projer ] Bonjour, j'ai donc ce soucis : A chaque clic sur un bouton, j'importe sur la scène un MC (mc_croix) qui contiend un autre MC (mc_fermer) qui est en mon clip en bouton avec lien vers fenetre [ par kaline007 ] Bonjour, J'ai fait un clip, c'est une petite boite au lettre animé, mais j'ai d'autre animation comme ca sur mon site J'aimerai bien en faire un bou comment arreter un movie clip avec un bouton [ par sliper69 ] Bonjour j'ai un petit problème j'ai un petit bonhomme qui cour j y ai mit un petit bouton play; [color=blue]on (release) { play(); } [/color] et u bouton fermer dans un swf chargé [ par projer ] Bonjour, j'importe un swf que je mets dans un sprite, ce swf a son bouton fermer incorporé, quel code utiliser pour que ça fonctionne? Ce que j'ai f bouton dans clip [ par rudi2740 ] Bonjour a tous, je deprime, aidez moi en as2, je suis dans une scene ou j'ai inclus un clip (bouton animé) sur une image qui devrai rediriger sur une incrementer un tween [ par jobe06 ] serai til possible d'incrementer la valeur de x avec un tween exemple: clip._x =00; Tween = new Tween( clip, "_x", Strong.easeInOut, clip._x, [colo duplicatemovieclip besoin d'aide [ par kwcri ] Salut a tous les pros de l'as2 et aux autres aussi :D comme bcp j'ai un nouveau probleme... jai creer un mc sur ma scene que j'ai appelé aa puis cre URL = [object URLRequest] [ par Aka21ton ] Bonjour à tous, J'ai des boutons en as3 qui portent le nom de l'occurrence gam0, ..., gam9 chaque bouton est en clip. Donc dans ma première fenêtre


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,519 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales