arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006
-
8 sept. 2006 à 17:32
arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006
-
12 sept. 2006 à 11:05
Bonjour.
J'ai enfin réussi avec ma capture d'écran !!
L'exemple se trouve ici : www.infotek.be/flash/example1.swf
le problème est que si je mets un texte ou une image sur la capture ça fonctionne parfaitement (exemple http://users.skynet.be/fa395022/example1.zip) mais si je crée un clip de manière dynamique, ca ne fonctionne pas, il se mets au dessus de tout et ne fait pas partie de la capture.
(exemple http://users.skynet.be/fa395022/example2.zip) Pourriez-vous m'aider?
D'avance, Merci
arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006 11 sept. 2006 à 10:03
Bonjour à toi et merci de ta réponse.
Je ne veux pas une autre source, mais seulement comprendre comment faire pour que la capture soit effective sur tous les clipset pas justes les clips fixes.
Les clips créés dynamiquement ne sont pas dans la capture.
C'est certainement une bétise mais étant newbie en flash, ce n'est pas évident.
Peux-tu y jeter un oeil?
D'avance, Merci à toi
shubenka
Messages postés759Date d'inscriptionmercredi 11 décembre 2002StatutMembreDernière intervention12 novembre 2008 11 sept. 2006 à 11:30
je pense que _root est considérer comme un clip donc tu peux peut étre l'utiliser dans la fonction.
sinon tu fait un clip container qui contient tout tes autres clip et tu fait l'impr de celui-ci
arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006 11 sept. 2006 à 14:03
tu me donnes une autre source...
C'est bien gentil, mais je veux y arriver avec ma source. Tout fonctionne sauf le fait que les clips dynamiques se mettent au dessus du système de capture ( cfr mon fichier FLA)
Et c'est là que je veux comprendre et modifier ce code
shubenka
Messages postés759Date d'inscriptionmercredi 11 décembre 2002StatutMembreDernière intervention12 novembre 2008 11 sept. 2006 à 15:31
Oula oui excuse moi j'avais même pas lu ce que tu avais écrit j'ai repondu directement selon le titre Mille excuse. Mais je t'avais quand méme donnée un elément de reponse "sinon tu fait un clip container qui contient tout tes autres clip et tu fait l'impr de celui-ci"
arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006 11 sept. 2006 à 15:36
Je pense justement que c'est ce que je fait !!
Si tu regarde l'exemple 1, j'ai un clip statique avec par exemple un texte dessus (ou une image ou autre chose), là ca fonctionne impecc.
Si tu regardes, l'exemple 2, je crée dynamiquement un clip avec une image, le problème est que ce clip se mets au dessus de tout et bien entendu ne fait pas partie de la capture.
Etant newbie en flash, je vois ce qu'est un container mais pour le faire...
Peux-tu regarder ma source et me donner un petit coup de pouce?
D'avance, je te remercie.
shubenka
Messages postés759Date d'inscriptionmercredi 11 décembre 2002StatutMembreDernière intervention12 novembre 2008 11 sept. 2006 à 15:50
c'est pas bien compliquer quand même tu créer un clip de base et tu y met tout dedans.
comment tu fait pour faire ta capture aprés ? pasque je pense qu'avec _root ca passe
var loader:mloaderWindow = this.createClassObject(mloaderWindow, "loader", 10, {_x:-1000, _y:-1000})
loader.setStyle("borderColor", 0x006699)
// listener which receives the broadcast message
// from the PrintScreen class
var listener:Object = new Object();
// copy in progress...
listener.onProgress = function(target:MovieClip, loaded:Number, total:Number){
var perc = Math.round((loaded/total)*100)
loader.label = "computing... " + perc + "%"
loader.value = perc
}
// copy is complete, send the result LoadVars to PHP
listener.onComplete = function(target:MovieClip, load_var:LoadVars){
loader.label = "sending to php..."
load_var.send("pixels.php", "_blank", "POST")
loader.close()
}
/**
* Print Button has been clicked
*/
//function print_me(){
//video_mc.pause() // first pause the playing video
pn = new PrintScreen(); // initialize the PrintScreen class
pn.addListener( listener ); // assign a listener
pn.print(this,0,0,550,500) // copy the _root
loader.label = "computing... 0%"
loader.open(true, true, true); // open a loader
//}
//On crée notre Fond1
var FondEcran1:MovieClip = this.createEmptyMovieClip("FondEcran1", this.getNextHighestDepth());
//on définit un écouteur pour écouter ce que le movieClipLoader dira (notamment, l'avancement du chargement)
var ListenerFondEcran1:Object = new Object();
//quand le chargement est fini, le movieClipLoader déclenche un événement loadInit qu'on va écouter et quand il surviendra, le code entre { } sera exécuté.
//le movieClipLoader renvoie aussi le clip dans lequel il fait le chargement (et on le récupère dans target_mc)
ListenerFondEcran1.onLoadInit = function(target_mc:MovieClip):Void
{
//ici on est sûr que notre image est bien chargée, on peut la redimensionner
FondEcran1._x=0;
FondEcran1._y=0;
FondEcran1._width=500;
FondEcran1._height=500;
}
//on définit notre movieClipLoader
var mcl1:MovieClipLoader = new MovieClipLoader();
//on lui attache notre écouteur pour qu'il puisse entendre ce que le mcl1 émét
mcl1.addListener(ListenerFondEcran1);
//on lance le chargement de notre image
mcl1.loadClip(MotifArrierePlan, FondEcran1);
Mais je ne sais pas comment intégrer mon FondEcran1 dans l'autre quoi
shubenka
Messages postés759Date d'inscriptionmercredi 11 décembre 2002StatutMembreDernière intervention12 novembre 2008 11 sept. 2006 à 17:02
... ca fait plaisir tu a l'air de rien comprendre a ce que tu code ...
tu fait l'imprim ecran avant de faire tes clip dynamique ca risque pas de marcher.
Et puis ca a pas l'air de toi vu que je voit
pn.print(this,0,0,550,500) // copy the _root
ca copy donc bien le root donc si tu réfléchit un peu tu devrais y arrivé
arnaud_verlaine
Messages postés21Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention20 septembre 2006 11 sept. 2006 à 17:18
Comme je le dit, je suis nouveau en flash et j'essaie juste d'apprendre un peu par moi même pour faire une capture de l'écran.
Ce code ne vient pas de moi (enfin celui de la capture) celui du clip dynamique est bien de moi.
J'ai essayé de créer d'abord le clip dynamique et ensuite une fois qu'il est bien chargé (voir FondEcran1), de lancer la capture de l'écran. Mais ça ne change rien, il n'en veut pas.
Si ca copie bien le _root, il me suffit juste alors de créer un clip dynamique dans le root...
Mais c'est là que je bloque justement !
je viens d'essayer ceci par exemple :
var FondEcran1:MovieClip = _root.createEmptyMovieClip("FondEcran1", this.getNextHighestDepth());
au lieu de
var FondEcran1:MovieClip = this.createEmptyMovieClip("FondEcran1", this.getNextHighestDepth());
//On crée notre Fond1
var FondEcran1:MovieClip = createEmptyMovieClip("FondEcran1", this.getNextHighestDepth());
//on définit un écouteur pour écouter ce que le movieClipLoader dira (notamment, l'avancement du chargement)
var ListenerFondEcran1:Object = new Object();
//quand le chargement est fini, le movieClipLoader déclenche un événement loadInit qu'on va écouter et quand il surviendra, le code entre { } sera exécuté.
//le movieClipLoader renvoie aussi le clip dans lequel il fait le chargement (et on le récupère dans target_mc)
ListenerFondEcran1.onLoadInit = function(target_mc:MovieClip):Void
{
//ici on est sûr que notre image est bien chargée, on peut la redimensionner
_root.FondEcran1._x=0;
_root.FondEcran1._y=0;
_root.FondEcran1._width=500;
_root.FondEcran1._height=500;
}
//on définit notre movieClipLoader
var mcl1:MovieClipLoader = new MovieClipLoader();
//on lui attache notre écouteur pour qu'il puisse entendre ce que le mcl1 émét
mcl1.addListener(ListenerFondEcran1);
//on lance le chargement de notre image
mcl1.loadClip("images/ArrierePlan/PlaqueGranit206A.gif", _root.FondEcran1 );