Click sur boutons flash

NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013 - 12 juil. 2006 à 23:31
nikitaetshiva Messages postés 19 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 8 octobre 2009 - 8 oct. 2009 à 11:01
Bonsoir, mon problème est le suivant :
Lorsque je click plusieurs fois sur un bouton sans bouger la souris, je recois bien tous les signalements  m'informant des clicks.
Cependant si  je click sur un item d'une combobox puis que je reclick sur mon bouton ( sans bouger la souris entre chaque click ) je recois uniquement le premier signalement et les autres passent à la trape.
Je pense que c'est du a un problème de focus mais je ne vois pas comment le résoudre.
Quelqu'un à une solution ? merci.

NeoUmbrella Corp.

7 réponses

fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
14 juil. 2006 à 13:28
J'ai rien compris ^^
0
nikita60 Messages postés 2 Date d'inscription lundi 21 septembre 2009 Statut Membre Dernière intervention 6 octobre 2009
6 oct. 2009 à 07:04
Bonjour a tous !

Quel dommage qu'il n'y est pas de réponse a ce problème. car j'ai exactement le même !!!!
Le message, en plus date de plusieurs années !!!!

Si quelqu'un comprend le problème.
explications :
Sur la scène il y a un component Combobox et plusieurs boutons.
C'est un diaporama, on l'on choisit l'album (dans le combobox), le premier étant charge par défaut.
Et une fois que l'on est passe sur le combobox, on ne peux pas recliquer 2 fois de suite au même endroit sur n'importe quel boutons .... bouton suivant (par exemple), si on déplace juste un peu, ca marche !!!! Mais dans un diaporama, on a tendance a cliquer plusieurs fois au même endroit, c'est donc un peu gênant !

Faut il faire quel que chose de spécial ?

Merci a vous et bonne journee ;)
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
6 oct. 2009 à 22:42
Salut!
J'avais réussi à régler le problème après plusieurs tentatives.
Je me rappel plus exactement la méthode, mais je crois que j'avais intercepté l'évènement lorsque la liste du combobox est fermée puis je donnais le focus à un autre contrôle.
Si tu n'y arrive toujours pas fait moi signe, j'essaierai de retrouver comment j'avais fait.
0
nikitaetshiva Messages postés 19 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 8 octobre 2009
7 oct. 2009 à 14:48
Bonjour,

Merci de m'avoir repondu.
Je ne comprends pas bien ce que tu veux dire ...
J'ai essaye pleins de truc ... pas moyen.
Tu as bien trouve une solution pourtant ?
Alors, si tu as un peu plus de precision, je suis prenneuse !!!

Merci.

Bonne journee.
0

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

Posez votre question
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
7 oct. 2009 à 16:40
Hmmm,

Je pense que si tu as un lien où télécharger le FLA posant problème je pourrais regarder ca plus précisement.
Et poster une réponse pour résoudre le problème.
Merci d'envoyer le lien en Message Privé afin d'éviter la naissance de futurs liens morts (Ô quelle jolie phrase ^^).

Voilà, voilà.
Bon Code

@+
0
nikitaetshiva Messages postés 19 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 8 octobre 2009
8 oct. 2009 à 09:51
Bonjour,
Merci pour votre interet a l'histoire.
Je mets mon code, un peu long desolee.
J'ai essaye avec un composant List et ca marche tres bien. Par contre, j'aurais une autre question :
Peut on recuperer la saisie d'un item de la liste (click sur la ligne) sans avoir a passer par l'intermediaire d'une validation d'un autre bouton ?
Bon, je suis debutante en ActionScript et les exemples que j'ai, passent toujours par un bouton valider !!!

Merci BEAUCOUP, je tourne en rond avec ces histoires !!!

Bonne journee ;)


import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.controls.*;
// Pour donner l'impression qu'un bouton s'enfonce,
import flash.filters.DropShadowFilter;

monOmbre = new DropShadowFilter();
monOmbre.strength = 0.8;
monOmbre.quality = 15;
monOmbre.blurX = monOmbre.blurY=3;
mesFiltres = [monOmbre];
monFiltresVides =[];
btSuivant.filters = mesFiltres;
btPrecedent.filters = mesFiltres;
//

//variables pour la mise en page
var hauteurFixe = 56;
var espace = 12;
var nbParPage = 6;

var posVignetteX = 20; //position des vignettes
var posVignetteY = 12;

var posPhotoX = 100; //position des Photos
var posPhotoY = 36;

// variables de travail
var photoMemo:Number = 0;
var numImg:Number = 0;
var indiceImage:Number = 0;
var indice:Number = 0;
var nbr:Number = 0;
var position:Number = 0;

btPrecedent._visible = false; // Positionnement des boutons
btVignettePrec._visible = false;
premVignette = 0; // Init de la premiere vignettes
photoMemo = 0;

affFont = "Arial"; // si pas de parametre passee
affColor = 0x0078ff;
effetBruit ="false";

vignettesXml = new Array(); // table vignettes
photosXml = new Array(); // table photos
albumXml = new Array(); // table du nbr d'album
nomAlbum = new Array(); // table du nom de l'album
nbrXml = new Array(); // table du nbr de photos pour chaque album

//Chargement du fichier XML
var album:XML = new XML();
album.ignoreWhite = true;
album.load("album_new.xml");

//Traitement une fois le chargement effectuer
album.onLoad = function(success:Boolean) {
donnees = new Array();
if(success){
// chargement des parametres
effetBruit = this.firstChild.childNodes[1].childNodes[0].attributes.effet;
bruitage = this.firstChild.childNodes[1].childNodes[0].attributes.valeur;
affFont = this.firstChild.childNodes[1].childNodes[1].attributes.valeur;
affColor = this.firstChild.childNodes[1].childNodes[2].attributes.valeur;
//Creation des noeud
var noeudImage:XMLNode = this.firstChild.childNodes[0];
var nbAlbum:Number = noeudImage.childNodes.length;
var tampon:XMLNode = this.firstChild.childNodes[0].childNodes[0];
var nbrVignette:Number = tampon.childNodes.length;
// On boucle sur le nombre d'album for (var indAlbum:Number = 0; indAlbum<nbAlbum; indAlbum++) {

albumXml[indAlbum] = ndAlbum+1);
nomAlbum[indAlbum] = this.firstChild.childNodes[0].childNodes[indAlbum].attributes.nom; // memo du nom de l'album

// Traitement
var tampon:XMLNode = this.firstChild.childNodes[0].childNodes[indAlbum];
var nbrVignette:Number = tampon.childNodes.length;
nbrXml[indAlbum] = nbrVignette;
vignettesXml[indAlbum] = new Array();
photosXml[indAlbum] = new Array(); // On boucle sur le nombre de vignettes
for (var i:Number = 0; i<nbrVignette; i++){
vignettesXml[indAlbum][i] = this.firstChild.childNodes[0].childNodes[indAlbum].childNodes[i].attributes.titre;
photosXml[indAlbum][i] = this.firstChild.childNodes[0].childNodes[indAlbum].childNodes[i].attributes.photo;
}
// chargement des donnee boite de dialogue
donnees[indAlbum]= {label:nomAlbum[indAlbum].toString(), data:nbrXml[indAlbum]+"|"+albumXml[indAlbum]};
}
// Chargement de la boite de dialogue
combo_album.dataProvider = donnees;
combo_album.selectedIndex = 0;
combo_album.rowCount = parseFloat(nbrXml[0]);

// Affichage du premier album par defaut
indiceAlbum = parseFloat(albumXml[0]);
nbr = parseFloat(nbrXml[0]);
traitement(indiceAlbum,nbr);
}
}
// Bouton validation de l'album
btValidAlbum.onRelease = function() {
// on teste la saisie faite dans la box
if (combo_album.selectedItems[0].data != undefined) {
donnees = combo_album.selectedItems[0].data.split("|");
indiceAlbum = parseFloat(donnees[1])// donne l'indice de l'Album
nbr = parseFloat(donnees[0]); // donne le nombre de vignettes/photos
// On traite le nouvel album, indiceAlbum numero de l'album, nbr nombre de vignettes et photos
traitement(indiceAlbum,nbr);
}
}
// Traitement du chargement des images
traitement = function (indiceAlbum,nbr) {
// reinitialisation des variables, des boutons, des tables et des MovieClip
numImg = 0;
premVignette = 0;
photoMemo = 0;
lenombre = 0 ;
btVignetteSuiv._visible = true;
btSuivant._visible = true;
btVignettePrec._visible = false;
btPrecedent._visible = false;
vignettes = new Array(); // pour les vignettes
photos = new Array(); // pour les photos

this.createEmptyMovieClip("cadreChargementPhoto", 1);
cadreChargementPhoto._y = posPhotoY;
cadreChargementPhoto._x = posPhotoX;

this.createEmptyMovieClip("diaporama", 0);
diaporama._y = posVignetteY;
diaporama._x = posVignetteX;
//
nbrTof.text = 1+"/"+nbr; // Affichage du nombre de photos
titreAlbum.text = nomAlbum[(indiceAlbum-1)]; // Affichage du titre de l'album
//
aff_bloc = new TextFormat();
aff_bloc.color = affColor;
aff_bloc.font = affFont;
aff_bloc.align = "center";
aff_bloc.bold=true;
aff_bloc.embedFonts = true;
titreAlbum.selectable = false;
titreAlbum.setTextFormat(aff_bloc);
//
// On boucle sur le nombre d'images, on charge les vignettes et les photos
for(var i = 0; i < nbr; i++) {

var mc = diaporama.createEmptyMovieClip("vignette"+i, i);
mc._y =(parseInt(hauteurFixe) + espace)*(i);
mc.createEmptyMovieClip("conteneur", 10);
Chemin_vignette = vignettesXml[(indiceAlbum-1)][i];
mc.conteneur.loadMovie(Chemin_vignette);

var mc2 = cadreChargementPhoto.createEmptyMovieClip("photo"+i, i);
if (i 0) {mc2._alpha 100}
else {mc2._alpha = 0};
mc2._x = cadreChargementPhoto._x;
mc2._y = cadreChargementPhoto._y;
mc2.createEmptyMovieClip("conteneur_mc2", 11);

Chemin_photo = photosXml[(indiceAlbum-1)][i]
mc2.loadMovie(Chemin_photo);

vignettes[i] = mc.conteneur; // memo en table
photos[i] = mc2;
mc.nombre = i;
// action de la souris
mc.onRollOver = function() {
plusclair (this.nombre);
}

mc.onRollOut = function() {
retournormal (this.nombre);
}
mc.onPress = function() {
numImg = this.nombre;
affichagePhoto (this.nombre);
}
}
} //fin de la fonction traitement
// Traitement des boutons grande photo
btSuivant.onPress = function () {
this._x += 2;
this._y += 2;
btSuivant.filters = mesFiltresVides;
}
btSuivant.onRelease = function () {
this._x -= 2;
this._y -= 2;
btSuivant.filters = mesFiltres;
numImg++;
affichagePhoto(numImg);
}
btPrecedent.onPress = function () {
this._x += 2;
this._y += 2;
btPrecedent.filters = mesFiltresVides;
}
btPrecedent.onRelease = function () {
this._x -= 2;
this._y -= 2;
btPrecedent.filters = mesFiltres;
numImg--;
affichagePhoto(numImg);
}
// Traitement des boutons vignettes
btVignetteSuiv.onRelease = function () {
premVignette++;
reAfficheVignette(-1);
vignettes[premVignette-1]._alpha = 0;
vignettes[premVignette+nbParPage]._alpha = 0;
}
btVignettePrec.onRelease = function () {
premVignette--;
reAfficheVignette(1);
}
// Traitement des affichages
plusclair = function (lenombre) {
vignettes[lenombre]._alpha = 50;
}
retournormal = function (lenombre) {
vignettes[lenombre]._alpha = 100;
}

affichagePhoto = function (lenombre) {
verifLimit();
// petit effet de son ... si on veut
if (effetBruit == "true") {
var my_sound:Sound = new Sound();
my_sound.loadSound(bruitage, true);}
photos[0]._alpha = 0;
photos[photoMemo]._alpha = 0;
photoMemo = lenombre;
//
photos[lenombre]._x = cadreChargementPhoto._x;
photos[lenombre]._y = cadreChargementPhoto._y;
photos[lenombre]._alpha = 100;

mx.transitions.TransitionManager.start(photos[lenombre], {type:mx.transitions.Iris, direction:0, duration:1, easing:mx.transitions.easing.Regular.easeOut, param1:empty, param2:empty});

nbrTof.text = Math.floor(lenombre+1)+"/"+nbr;
}
// verif des limites des grandes photos
verifLimit = function() {
if ((numImg+1) >nbr) {btSuivant._visible false;}
else {btSuivant._visible = true;}

if (numImg < 1) {btPrecedent._visible = false;}
else {btPrecedent._visible = true;}
}
// verif des limites des vignettes
verifLimVignette = function() {
if (premVignette+1 > (nbr-nbParPage)) {btVignetteSuiv._visible = false;}
else {btVignetteSuiv._visible = true;}

if (premVignette <0) {btVignettePrec._visible false;}
else {btVignettePrec._visible = true;}
}
// reaffichage des vignettes
reAfficheVignette = function (quelsens) {
verifLimVignette();
for(indice = 0; indice <= nbr; indice++) { vignettes[indice]._y = vignettes[indice]._y + ((hauteurFixe + espace) * quelsens); vignettes[indice]._alpha =100; }
}
0
nikitaetshiva Messages postés 19 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 8 octobre 2009
8 oct. 2009 à 11:01
Rebonjour,

Bon, j'ai trouve comment recuperer l'item dans la liste sans bouton validation .... et oui, je ne connais pas bien AS !!!!
Mais, sinon, pour l'histoire precedente ... j'ai essaye avec un composant menubar .... ca fait la meme choses, pas moyen de clicker 2 fois de suite au meme endroit sur un autre bouton, des que l'on clicke sur le composant ... et la j'ai toujours pas trouve .....

Un grand MERCI a tous !
0
Rejoignez-nous