crackter
Messages postés401Date d'inscriptionmercredi 12 novembre 2003StatutMembreDernière intervention31 janvier 2010 11 déc. 2008 à 12:41
Salut,
toujours pareil :). le myArray[i].onPress, la fonction d'onpress va "pointer" sur myArray[i], donc i n'est plus connue puisqu'il appartenait à la boucle. Soit tu met une valeur fixe à la place de i, soit tu utilises une variable "temp" à la création du genre myArray[i].tag=i
sa marche pas quand meme du fait que je souhaite executer un script seulement pour les elements de myArray qui sont une id superieur a l'element myArray cliké... !
crackter
Messages postés401Date d'inscriptionmercredi 12 novembre 2003StatutMembreDernière intervention31 janvier 2010 11 déc. 2008 à 22:59
myArray[i].id = i;
myArray[i].onPress = function(){
if( myArray[ i
].id > this.id ){
// blablabla
}
}
le i dans le onPress est indéfinie, même si tu l'a créé dans la boucle.
En fait il est créé dans la boucle, il existe bien à ce moment là, mais au moment où on press l'élément contenu dans myArray, i est undefined, donc cela correspond à un myArray[undefined] donc undefined > this.id, et forcément ça pose quelques soucis :).
Je ne comprend pas pourquoi tu veux comparer myArray[i].id et this.id puisque dans la logique que tu veux employer, les 2 sont forcément équivalents. Si i vaut 2 tu voudrais faire :
myArray[2].id =2;
myArray[2].onPress=function() {
if (myArray[2].id>this.id) { // donc this.id>this.id (puisqu'on est dans le onpress de myArray[2], donc 2>2, donc il ne pourra jamais être lancé.
//
}
}
il faudrait que tu essaye plutot une variable qui sauvegarde le clip dernièrement cliqué, ou son id. Essaye un truc du genre :
var nbItems:Number = 6;
var spaceY:Number = 10;
var baseY:Number = 10;
var
myArray:Number = new Array();
var lastClick:Number = -1;