pat RB
Messages postés30Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention20 janvier 2010
-
19 janv. 2010 à 11:04
crackter
Messages postés401Date d'inscriptionmercredi 12 novembre 2003StatutMembreDernière intervention31 janvier 2010
-
20 janv. 2010 à 11:26
Bonjour à tous.
J'aurais aimé mettre mon fla ici pour mieux faire comprendre mon problème mais je ne sais pas comment faire.
globalemement, j'ai crée une sorte de diaporama qui en fonction de ce qui est marqué dans une variable, fait un loadMovie de fichiers swf dans 2 clips récepteurs (conteneur1_mc & conteneur2_mc) dont je voulais (mais c'est pas terrible! si vous avez mieux, suis preneur)via un jeu de _alpha, faire comme sur powerpoint des transitions pas brutales.
je pense que je me complique la vie sur mon code, je suis ouvert à toute critique et aide mais c'est pas facile d'expliquer sans donner le code.
Mon problème est que tout marche lorsque je fais un control-entrée (bref publier dans flash8) les swf (photos) remontent très bien et s'affichent nickel.
Mais lorsque je lance mon diaporama depuis mon gestionnaire de fichiers (je double clique dessus sans être dans flash 8, seul les deux premiers swf (photos) remontent et tournent en boucle. pourtant c'est les bons swf qui sont appelés, le code tourne bien mais apparamment c'est l'affichage dans les clips conteneurs qui ne fonctionne pas.
Avez-vous déjà ce problème. Ou celà fonctionne sous flash mais ne marche plus quand on lance le swf direct.
code (frame 3):
a=Number(a+1)
sens = "plus"
gotoAndPlay (2);
code (frame 4):
a=Number(a-1)
sens = "moins"
gotoAndPlay (2);
code (frame 2) le plus important:
//permet de savoir si le bouton appuyé va vers le haut ou le bas du diaporama
//et lance la fonction test_estimated plus ou test_estimated moins
if (sens === "plus"){
test_estimated_plus ()
}else{
test_estimated_moins ()
}
btn_droit.onRelease = function ()
{
//on appelle la fonction flechedroite qui fait avancer au next slide
flechedroite ()
}
btn_gauche.onRelease = function ()
{
//on appelle la fonction flechegauche qui fait revenir au previous slide
flechegauche ()
}
btn_haut.onRelease = function ()
{
//on appelle la fonction flechehaute qui fait avancer au next slide
flechehaute ()
}
btn_bas.onRelease = function ()
{
//on appelle la fonction flechebasse qui fait avancer au next slide
flechebasse ()
}
function flechedroite () : Void
{
if (a<54){
gotoAndPlay (5)
}else{
end_diapo._visible = true;
}} //end of function flechedroite
function flechegauche () : Void
{
if (a>7){
gotoAndPlay (6)
}else{
beg_diapo._visible = true;
}} //end of function flechegauche
function flechebasse () : Void
{
if (a<59){
gotoAndPlay (3)
}else{
end_diapo._visible = true;
}} //end of function flechebasse
function flechehaute () : Void
{
if (a>2){
gotoAndPlay (4)
}
else{
beg_diapo._visible = true;
}}
//end of function flechehaute
//la fonction "test_estimated_moins" va voir si les variable V1...V60 (dans ("VARIABLES/var_matrix.txt") sont marquées "estimated"
//Si oui, on fait une boucle avec la frame 4 qui diminue la valeur de la variable "a" et la boucle continue tant que V1, V2... renvoi un numéro et non plus "estimated"
function test_estimated_moins () : Void
{
//_global.renvoi_num_layout = num_layout_txt.text;
var _loc8 = new LoadVars();
_loc8.load("VARIABLES/var_matrix.txt");
_loc8.onLoad = function (success)
{
retour_var = this["V"+a]
if (retour_var ==="estimated"){
gotoAndPlay (4)
}else{
afficher_layout()
}}}
function test_estimated_plus () : Void
{
var _loc9 = new LoadVars();
_loc9.load("VARIABLES/var_matrix.txt");
_loc9.onLoad = function (success)
{
retour_var = this["V"+a]
if (retour_var ==="estimated"){
gotoAndPlay (3)
}else{
afficher_layout()
}}}
// l'idée est de faire des transitions moins brutales entre deux images en jouant avec des _alpha mais c'est pas terrible. Si vous avez mieux ?
function afficher_layout () : Void
{
//pour enlever le L devant le layout number qui revient de la variable V1...V60
_global.layout_online = retour_var.substring (1,9)
//pour extraire uniquement le layout number qui revient de la variable V1...V60
_global.layout_seul = retour_var.substring (1,6)
//on remonte le premier plan
conteneur1_mc._x = 0;
conteneur1_mc._y = 40;
conteneur1_mc._xscale = 135;
conteneur1_mc._yscale = 135;
// ceci est fait pour faire un degradé en alpha du conteneur1 au conteneur2
if (i==0){
conteneur2_mc.loadMovie("layouts_diapo/"+retour_var+".swf");
for (t=0; t<10000; t++){
conteneur2_mc._alpha = t;
conteneur1_mc._alpha = Number(10000-t);
} i++; }
else if (i==1){
conteneur1_mc.loadMovie("layouts_diapo/"+retour_var+".swf");
for (t=0; t<10000; t++){
conteneur2_mc._alpha = Number(10000-t);
conteneur1_mc._alpha = t;
} i--; }
// ici les fleches claviers
var keyListener = new Object();
keyListener.onKeyDown = function ()
{
switch (Key.getCode())
{
case 37:
//fleche clavier gauche
{
flechegauche ()
break; }
case 38:
//fleche clavier haut
{
flechehaute ();
break; }
case 39:
//fleche clavier droite
{
flechedroite ();
break; }
case 40:
//fleche clavier bas
{
flechebasse ();
break; }
} // End of switch
};
Key.addListener(keyListener);
stop();
MERCI A TOUS PAR AVANCE
Faire de la musique, le langage de la solidarité, la devise de notre asso, chez www.msprods.org
pat RB
Messages postés30Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention20 janvier 2010 20 janv. 2010 à 09:14
Merci Crackter, sympa de t'y pencher, j'ai tout essayé hier, changer les variables, en fait tout marche super bien sous flash (via "publier") mais n'affiche que les 2 premières images quand lancé directement (sous le flash player) voici les codes:
//code (frame 2) le plus important:
//permet de savoir si le bouton appuyé va vers le haut ou le bas du diaporama (voir frame 1 qui initialise
//et lance la fonction test_estimated plus ou test_estimated moins
if (sens === "plus"){
test_estimated_plus ()
}else{
test_estimated_moins ()
}
btn_droit.onRelease = function ()
{
//on appelle la fonction flechedroite qui fait avancer au next slide
flechedroite ()
}
btn_gauche.onRelease = function ()
{
//on appelle la fonction flechegauche qui fait revenir au previous slide
flechegauche ()
}
btn_haut.onRelease = function ()
{
//on appelle la fonction flechehaute qui fait avancer au next slide
flechehaute ()
}
btn_bas.onRelease = function ()
{
//on appelle la fonction flechebasse qui fait avancer au next slide
flechebasse ()
}
function flechedroite () : Void
{
if (a<54){
gotoAndPlay (5)
}else{
end_diapo._visible = true;
}} //end of function flechedroite
function flechegauche () : Void
{
if (a>7){
gotoAndPlay (6)
}else{
beg_diapo._visible = true;
}} //end of function flechegauche
function flechebasse () : Void
{
if (a<59){
gotoAndPlay (3)
}else{
end_diapo._visible = true;
}} //end of function flechebasse
function flechehaute () : Void
{
if (a>2){
gotoAndPlay (4)
}
else{
beg_diapo._visible = true;
}}
//end of function flechehaute
//la fonction "test_estimated_moins" va voir si les variable V1...V60 (dans ("VARIABLES/var_matrix.txt") sont marquées "estimated"
//Si oui, on fait une boucle avec la frame 4 qui diminue la valeur de la variable "a" et la boucle continue tant que V1, V2... renvoi un numéro et non plus "estimated"
function test_estimated_moins () : Void
{
//_global.renvoi_num_layout = num_layout_txt.text;
var _loc8 = new LoadVars();
_loc8.load("VARIABLES/var_matrix.txt");
_loc8.onLoad = function (success)
{
retour_var = this["V"+a]
if (retour_var ==="estimated"){
gotoAndPlay (4)
}else{
afficher_layout()
}}}
function test_estimated_plus () : Void
{
var _loc9 = new LoadVars();
_loc9.load("VARIABLES/var_matrix.txt");
_loc9.onLoad = function (success)
{
retour_var = this["V"+a]
if (retour_var ==="estimated"){
gotoAndPlay (3)
}else{
afficher_layout()
}}}
// l'idée est de faire des transitions moins brutales entre deux images en jouant avec des _alpha mais c'est pas terrible. Si vous avez mieux ?
function afficher_layout () : Void
{
//pour enlever le L devant le layout number qui revient de la variable V1...V60
_global.layout_online = retour_var.substring (1,9)
//pour extraire uniquement le layout number qui revient de la variable V1...V60
_global.layout_seul = retour_var.substring (1,6)
//on remonte le premier plan
conteneur1_mc._x = 0;
conteneur1_mc._y = 40;
conteneur1_mc._xscale = 135;
conteneur1_mc._yscale = 135;
conteneur2_mc._x = 0;
conteneur2_mc._y = 40;
conteneur2_mc._xscale = 135;
conteneur2_mc._yscale = 135;
// ceci est fait pour faire un degradé en alpha du conteneur1 au conteneur2
if (i==0){
conteneur2_mc.loadMovie("layouts_diapo/"+retour_var+".swf");
for (t=0; t<10000; t++){
conteneur2_mc._alpha = t;
conteneur1_mc._alpha = Number(10000-t);
} i++; }
else if (i==1){
conteneur1_mc.loadMovie("layouts_diapo/"+retour_var+".swf");
for (t=0; t<10000; t++){
conteneur2_mc._alpha = Number(10000-t);
conteneur1_mc._alpha = t;
} i--; }
// ici les fleches claviers
var keyListener = new Object();
keyListener.onKeyDown = function ()
{
switch (Key.getCode())
{
case 37:
//fleche clavier gauche
{
flechegauche ()
break; }
case 38:
//fleche clavier haut
{
flechehaute ();
break; }
case 39:
//fleche clavier droite
{
flechedroite ();
break; }
case 40:
//fleche clavier bas
{
flechebasse ();
break; }
} // End of switch
};
Key.addListener(keyListener);
stop();
MERCI !
Faire de la musique, le langage de la solidarité, notre devise chez www.msprods.org
pat RB
Messages postés30Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention20 janvier 2010 20 janv. 2010 à 11:09
re-bonjour,
J'ai essayé sous un autre pc avec flash CS4 (je suis sur . Quand je publie avec flash 9, celà fonctionne très bien. est-ce que quelqu'un
peut m'expliquer. Est-ce que celà veut dire que si l'on n'a pas flash 9 ou plus installé sur son PC, ca ne peut fonctionner?
Merci de m'expliquer s'il vous plait.
Faire de la musique, le langage de la solidarité, notre devise chez www.msprods.org