faire ouvrir un ficher externe dans une nouvelle fenetre

faire ouvrir un ficher externe dans une nouvelle fenetre - Flash/ActionScript - Programmation

Marsh Posté le 16-03-2010 à 14:43:47    

bonjour à tous,
 
 
je souhaite importer des fichiers externes sur mon site ...
 
j'ai rédigé le code et voici la partie ou ça bloque :
 
 

Code :
  1. var chargement_1:Loader = new Loader();
  2. addChild(chargement_1);
  3. chargement_1.x = 25;
  4. chargement_1.y = 120;
  5. function clique_1(pEvt:MouseEvent):void
  6. {
  7. var Requette_1:URLRequest = new URLRequest("presentation.swf","_blank" );
  8. chargement_1.load(Requette_1);
  9. chargement_1.unLoad(Requette_1);
  10. }
  11. function clique_2(pEvt:MouseEvent):void
  12. {
  13. var Requette_2:URLRequest = new URLRequest("animflash/deuxieme_anim.swf","_blank" );
  14. chargement_1.load(Requette_2);
  15. chargement_1.unLoad(Requette_2);
  16. }


 
malheureusement j'ai un souci avec le unLoad et le blank
 
si quelqu'un peut m'aider, car ça fait quelques jours que je rame  
 
merci @ tous

Reply

Marsh Posté le 16-03-2010 à 14:43:47   

Reply

Marsh Posté le 16-03-2010 à 19:29:39    

Oula, attention, tu utilises un Loader pour linker vers une page...
Non, les Loader c'est pour charger un objet DANS ton Flash...

 

Enfin, après tout, on comprend pas ce que tu veux...

lezardgraphik a écrit :

je souhaite importer des fichiers externes sur mon site ...

lezardgraphik a écrit :

faire ouvrir un ficher externe dans une nouvelle fenetre

 

Pour diriger vers une autre page, c'est la fonction navigateToURL()

 
Code :
  1. function clique_1(pEvt:MouseEvent):void
  2. {
  3.    var monLien:URLRequest = new URLRequest("presentation.swf","_blank" );
  4.    navigateToURL(monLien);
  5. }
  6.  
  7. function clique_2(pEvt:MouseEvent):void
  8. {
  9.    var monLien:URLRequest = new URLRequest("animflash/deuxieme_anim.swf","_blank" );
  10.    navigateToURL(monLien);
  11. }
 

Après, t'es pas obligé de stoker les liens dans une variable, rien ne t'empeche de les appeler directement comme ça :

Code :
  1. function clique_2(pEvt:MouseEvent):void
  2. {
  3.   navigateToURL(new URLRequest("animflash/deuxieme_anim.swf" ),"_blank" ));
  4. }
 

Sinon attention, ne link pas directement vers les .swf mais vers un .html qui intègre le .swf en question...

 

EDIT : Avec la parenthèse, c'est mieux !

Message cité 1 fois
Message édité par abais le 16-03-2010 à 22:54:44

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 16-03-2010 à 21:48:48    

abais a écrit :

Oula, attention, tu utilises un Loader pour linker vers une page...
Non, les Loader c'est pour charger un objet DANS ton Flash...
 
Enfin, après tout, on comprend pas ce que tu veux...


 
 
 

abais a écrit :


 
Pour diriger vers une autre page, c'est la fonction navigateToURL()
 

Code :
  1. function clique_1(pEvt:MouseEvent):void
  2. {
  3.    var monLien:URLRequest = new URLRequest("presentation.swf","_blank" );
  4.    navigateToURL(monLien);
  5. }
  6.  
  7. function clique_2(pEvt:MouseEvent):void
  8. {
  9.    var monLien:URLRequest = new URLRequest("animflash/deuxieme_anim.swf","_blank" );
  10.    navigateToURL(monLien);
  11. }


 
Après, t'es pas obligé de stoker les liens dans une variable, rien ne t'empeche de les appeler directement comme ça :

Code :
  1. function clique_2(pEvt:MouseEvent):void
  2. {
  3.   navigateToURL(new URLRequest("animflash/deuxieme_anim.swf","_blank" ));
  4. }


 
Sinon attention, ne link pas directement vers les .swf mais vers un .html qui intègre le .swf en question...


 
 
 
 
 
 
donc j'ai mis tout le code et voila ce que cela donne
 

Code :
  1. btn_0.addEventListener(MouseEvent.CLICK, clique_0);
  2. btn_1.addEventListener(MouseEvent.CLICK, clique_1);
  3. btn_2.addEventListener(MouseEvent.CLICK, clique_2);
  4. btn_3.addEventListener(MouseEvent.CLICK, clique_3);
  5. btn_4.addEventListener(MouseEvent.CLICK, clique_4);
  6. btn_5.addEventListener(MouseEvent.CLICK, clique_5);
  7. var chargement_1:Loader = new Loader();
  8. addChild(chargement_1);
  9. chargement_1.x = 25;
  10. chargement_1.y = 120;
  11.  function clique_0(pEvt:MouseEvent):void
  12.  {
  13.  var Requette_0:URLRequest = new URLRequest("2-Gallery-with-XML/bienvenue.swf" );
  14.  chargement_1.load(Requette_0);
  15.  }
  16.  function clique_1(pEvt:MouseEvent):void
  17.  {
  18.  var Requette_1:URLRequest = new URLRequest("2-Gallery-with-XML/logo.swf" );
  19.  chargement_1.load(Requette_1);
  20.  }
  21.  function clique_2(pEvt:MouseEvent):void
  22.  {
  23.  var Requette_2:URLRequest = new URLRequest("2-Gallery-with-XML/presentation.swf" );
  24.  chargement_1.load(Requette_2);
  25.  }
  26.  function clique_3(pEvt:MouseEvent):void
  27.  {
  28.  var Requette_3:URLRequest = new URLRequest("2-Gallery-with-XML/loadmovie.swf" );
  29.  chargement_1.load(Requette_3);
  30.  }
  31.  function clique_4(pEvt:MouseEvent):void
  32.  {
  33.    navigateToURL(new URLRequest("2-Gallery-with-XML/index.html","blank" );
  34.  
  35.  }
  36.  function clique_5(pEvt:MouseEvent):void
  37.  {
  38.  var Requette_5:URLRequest = new URLRequest("2-Gallery-with-XML/contact.swf" );
  39.  chargement_1.load(Requette_5);
  40.  }


 
il y a 5 boutons au total
 
sur  4 boutons je charge un swf (ca c'est bon)  
 
et sur 1 je l'envoie vers un lien html  
 
mais malheureusement cela ne fonctionne pas  :(  :(
 
j'avoue étant débutant je séche un peu

Reply

Marsh Posté le 16-03-2010 à 22:52:16    

tu as oublié une parenthèse... Oui bon, d'accord, c'est moi, mais faut vérifié mes conneries hein :o :D
navigateToURL(new URLRequest("2-Gallery-with-XML/index.html"),"blank" );
Sinon, je crois que c'est _blank (avec le _ ), et tu n'es pas obligé de le mettre...

 

D'ailleurs, si navigateToURL(new URLRequest("2-Gallery-with-XML/index.html" )); ne fonctionne pas, il ne peut que s'agir d'une erreur de chemin...
Si c'est le cas, essaye de mettre navigateToURL(new URLRequest("http://www.google.fr" )); voir si ça marche


Message édité par abais le 16-03-2010 à 22:53:30

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 09:06:43    

merci infiniment à toi  
 
bon si tu as besoin d'un coup de main en graphisme je t'aiderai volontiers...
 
si je voulais effacer le chargement de mon swf précédent à chaque nouveau clique :
 
function clique_2(pEvt:MouseEvent):void
{
var Requette_2:URLRequest = new URLRequest("deuxieme_anim.swf","_blank" );
chargement_1.load(Requette_2);
chargement_1.unLoad(Requette_2);  
 
}
 
et dernière question :
 
si à chaque clique y'avait un son...
 
moi je connais ces codes :
 
on (press) {
 musique1.start();
}
 
ou ça aussi
 
 
on (press) {
 stopallSounds();
 musique5.play();
}
 
mais que mettre puisque ce n'est pas un on (press)  
 
 
merci, merci, merci :d

Reply

Marsh Posté le 17-03-2010 à 12:36:14    

Non merci pour le coup de main, je suis graphiste à la base mais je salue ta diligence.
Comme je le disais à rfv, un autre membre du forum qui loadait des .swf lui aussi, c'est très crade...
Le mieux c'est d'avoir tout dans la même animation...
 
M'enfin, je vais tout de même répondre à ta question :
 
Pour retirer un contenu chargé, il s'agit bien de unload()...
Cependant, il faut que tu retire ce contenu avant de charger le nouveau, ça donne donc
 
function clique_2(pEvt:MouseEvent):void
{
   chargement_1.unload();
   chargement_1.load(new URLRequest("deuxieme_anim.swf" ));  
}

 
Tu remarque que je ne donne aucun argument dans unload(), il dechargera tout simplement ce qu'il avait dans le ventre...
 
Sinon, dans le code que tu m'a mis plus haut il y a des optimisation à faire...
Tu declare les var contenant les URL au sein même des fonctions, ce qui fait qu'une variable sera recréer à chaque appel de la fonction, ce qui n'est pas très propre... Je chipote un peu mais c'est bien de prendre des bonnes habitudes assez tôt...
Mets les donc à la racine de ton script...
 
Pour les SON, c'est pas compliquer, il faut :

  • une URL (celle du son), ça sera aussi un URLRequest  
  • un conteneur (le son en lui même), qui sera un élement de class Sound
  • un controlleur pour controller (play/pause/volume...) le son qu'il contient... il est de class SoundChannel

Ça parait fastidieux, mais c'est "logique", on en comprend l'interet assez vite...
 
ça donne donc :

Code :
  1. var monUrlSon:URLRequest = new URLRequest("monSon.mp3" );
  2. var monSon:Sound = new Sound();
  3. var monControllerSon:SoundChannel = new SoundChannel();
  4.  
  5. //Maintenant, on donne l'url ne notre son au ... son, puis on le lance par l'intermediaire du SoundChannel :
  6. monSon.load(monUrlSon);
  7. monControllerSon = monSon.play()

Bon, le play, tu le lance au moment opportun, dans l'écoute du clique d'un bouton dans ton cas... Et n'oublie pas qu'il faut que tu stop() le son (de monControllerSon) si t'en lis un nouveau...
 

Code :
  1. var monUrlSon1:URLRequest = new URLRequest("monSon1.mp3" );
  2. var monSon1:Sound = new Sound();
  3. monSon1.load(monUrlSon1);
  4.  
  5.  
  6. var monUrlSon2:URLRequest = new URLRequest("monSon2.mp3" );
  7. var monSon2:Sound = new Sound();
  8. monSon2.load(monUrlSon2);
  9.  
  10. var monControllerSon:SoundChannel = new SoundChannel();
  11.  
  12. function clique_btn_son_1(pEvt:MouseEvent):void
  13. {
  14.   monControllerSon.stop();
  15.   monControllerSon = monSon1.play();
  16. }
  17.  
  18. function clique_btn_son_2(pEvt:MouseEvent):void
  19. {
  20.   monControllerSon.stop();
  21.   monControllerSon = monSon2.play();
  22. }


 
Bon, je n'ai pas testé tout ça, j'ai peut-etre encore oublié 2-3 truc...
 
EDIT : J'ai corrigé 2-3 trucs important


Message édité par abais le 17-03-2010 à 13:13:49

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 14:47:08    

voila ce que j'ai fait grâce à ta grande aide (merci encore)
 
sachant que mon fichier mp3 est au même niveau que mon fla  
 
le son ne joue pas pourtant c'est dans la même logique qu'avec les swf ... non ?
 
c'est hardos l'action script lol  :??:  
 
 

Code :
  1. var monUrlSon1:URLRequest = new URLRequest("teleportation.mp3" );
  2.       var monSon1:Sound = new Sound();
  3.       monSon1.load(monUrlSon1);
  4.      
  5.      
  6.       var monUrlSon2:URLRequest = new URLRequest("glacons.mp3" );
  7.       var monSon2:Sound = new Sound();
  8.       monSon2.load(monUrlSon2);
  9.      
  10.       var monControllerSon:SoundChannel = new SoundChannel();
  11.      
  12.       function clique_btn_son_1(pEvt:MouseEvent):void
  13.       {
  14.         monControllerSon.stop();
  15.         monControllerSon = monSon1.play();
  16.       }
  17.      
  18.       function clique_btn_son_2(pEvt:MouseEvent):void
  19.       {
  20.         monControllerSon.stop();
  21.         monControllerSon = monSon2.play();
  22.       }

Reply

Marsh Posté le 17-03-2010 à 15:54:16    

Mets le code entier !
Il faut que tu associes les fonctions au cliquage de tes boutons..
un .addEventListener(MouseEvent.MOUSE_UP, maFonction)...
 
Sinon l'AS, c'est dure mais c'est tellement bon !
Et puis, en apprenant l'AS3, tu apprends en même temps d'autre langages...
Il faut aussi que tu apprennes à lire la documentation de flash, c'est pas évident...
Il faut savoir ce qu'est une class, une methode, une propriété...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 16:51:29    

Code :
  1. btn_son_0.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_0);
  2. btn_son_1.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_1);
  3. btn_son_2.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_2);
  4. btn_son_3.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_3);
  5. btn_son_4.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_4);
  6. btn_son_5.addEventListener(MouseEvent.MOUSE_UP, clique_btn_son_5);
  7.       var monUrlSon1:URLRequest = new URLRequest("teleportation.mp3" );
  8.       var monSon1:Sound = new Sound();
  9.       monSon1.load(monUrlSon1);
  10.      
  11.       var monUrlSon2:URLRequest = new URLRequest("glacons.mp3" );
  12.       var monSon2:Sound = new Sound();
  13.       monSon2.load(monUrlSon2);
  14.  
  15.  
  16.       function clique_btn_son_1(pEvt:MouseEvent):void
  17.       {
  18.         monControllerSon.stop();
  19.         monControllerSon = monSon1.play();
  20.       }
  21.      
  22.       function clique_btn_son_2(pEvt:MouseEvent):void
  23.       {
  24.         monControllerSon.stop();
  25.         monControllerSon = monSon2.play();
  26.       }
  27.  
  28.   function clique_btn_son_3(pEvt:MouseEvent):void
  29.       {
  30.         monControllerSon.stop();
  31.         monControllerSon = monSon1.play();
  32.       }
  33.      
  34.       function clique_btn_son_4(pEvt:MouseEvent):void
  35.       {
  36.         monControllerSon.stop();
  37.         monControllerSon = monSon2.play();
  38.       }
  39.  
  40.   function clique_btn_son_5(pEvt:MouseEvent):void
  41.       {
  42.         monControllerSon.stop();
  43.         monControllerSon = monSon1.play();
  44.       }


 
voila tout  le code pour mon son  
 
 
je vais essayer de me trouver un bouquin avec tutos pour potasser l'action script
 
sinon je m'en sortirai jamais je crois :pt1cable:

Reply

Marsh Posté le 17-03-2010 à 17:15:09    

Il te fait quoi comme erreur ?
 
Sinon, t'as oublié de declarer le SoundChannel !
var monControllerSon:SoundChannel = new SoundChannel();
Et t'as aussi oublié de déclarer la fonction clique_btn_son_0
 
A part ça, tout est bon, ça marche chez moi en tout cas...
Tu est sur des URL ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 17:15:09   

Reply

Marsh Posté le 17-03-2010 à 17:23:59    


J'ai un bon prof ;-) aussi  
il me faudrait un livre action script avec des tutos tu vois le genre ?
une méthode en images qui permettrait d'assimiler rapidement ...
 
donc voici l'erreur indiquée
 
1120:Accès à la propriété non définie btn_son_0
1120:Accès à la propriété non définie btn_son_1
1120:Accès à la propriété non définie btn_son_2
1120:Accès à la propriété non définie btn_son_3
1120:Accès à la propriété non définie btn_son_4
1120:Accès à la propriété non définie btn_son_5
 
 
 

Reply

Marsh Posté le 17-03-2010 à 18:36:59    

Bah... t'as créé tes boutons au moins ? :pt1cable:


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 18:48:40    

ce que tu m'as dit m'a fait tilt lol
 
en fait j'ai réattribué le nom donner précédemment :
 
btn_0 etc.
 
tout en haut  
 
et ça marche youhou !!!
 
merci à toi infiniment t'es un bon et un bon prof :d

Reply

Marsh Posté le 17-03-2010 à 18:51:01    

Bah, ça me fait toujours plaisir d'apprendre, mais faut vraiment que tu relise tout ça, et comprenne chaque lignes...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-03-2010 à 19:04:16    

oui je veux bien mais tout seul c'est pas évident...
 
je pense que c'est pas le langage que tu peux apprendre seul...

Reply

Marsh Posté le 17-03-2010 à 20:03:14    

Bah, j'ai appris comment moi...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed