2010-02-01 6 views
0

J'ai eu un problème avec le traitement d'un tableau dans ActionScript. J'ai enlevé le dernier élément d'un tableau par array.pop(). Après cela, je voudrais remettre cet objet d'affichage retiré au début du tableau: array.unshift(object). L'objet est maintenant le premier élément du tableau mais il a encore son ancienne étiquette (numéro du dernier élément). Par conséquent, je ne peux pas mettre à jour la position (graphiquement) de l'objet d'affichage. Est-il possible de "réindexer" le tableau?comment réinitialiser un index de tableau? actionscript3

+0

à quoi ressemble cet "objet"? Label est une propriété de "Object"? – bhups

+0

l'étiquette est un nombre "i", car le tableau sera traité dans une boucle for. donc le désynchronisation ressemble à ceci: array.unshift (array [i]); le tableau [i] gardera son étiquette quand je l'ai mis à nouveau au début du tableau, comment remettre l'étiquette à zéro? – algro

Répondre

0

Un élément pop ped ne conserve pas son index, car il sera retiré du tableau. Si vous essayez de unshift(array[i]) après pop ping array[i], vous obtenez une erreur pour référencer un index qui n'existe plus. Pour faire ce que vous décrivez, vous pouvez dire array.unshift(array.pop()) puis faire référence à l'élément déplacé à array[0].

J'ai utilisé la méthode ci-dessus lorsque j'ai créé un diaporama en boucle infini.

Modifier.

Il semble que j'ai mal compris votre problème. IIRC il n'est pas possible de manipuler un tableau que vous traversez.

S'il vous plaît poster l'extrait que vous rencontrez des problèmes avec une réponse plus éduquée.

Questions connexes