s'il vous plaît aidez-moi, je suis complètement perdu dans AS3.0 avec des largeurs MovieClip. Fondamentalement, je suis en train de coder un menu, qui au lieu d'avoir une barre de défilement s'il y a trop d'éléments pour l'écran, utilise un effet d'agrandissement, permettant à l'utilisateur de faire défiler le menu avec la souris.Flash: ActionScript 3.0 MovieClip Largeurs
Mon problème pour le moment est de redimensionner la largeur (c'est un menu horizontal) des MovieClips (chaque icône sur le menu est un MovieClip).
Si la largeur est trop petite (il n'est pas certain que la valeur la plus faible puisse être atteinte), le clip n'apparaît pas.
Mais ce n'est pas tout le problème, si je définis la largeur d'un clip à 2,8, il apparaît toujours, avec la bonne largeur.
C'est seulement après une boucle for qui réinitialise les largeurs d'icônes appropriées, puis ma méthode 'reposition()' que les icônes n'apparaissent pas.
Je ne comprends tout simplement pas certains aspects de MovieClips ou de Numbers dans AS3, j'espère que quelqu'un peut vous aider. 'Black' contient une liste de MovieClips (les icônes de menu).
Voici le code où tout se passe mal (il va mal quand « IconWidth » est très faible):
//if there are icons to the left
if ((s-leftEffect) > 1){
//loop over all icons to the left
for (var lu:int = 0; lu <= s-leftEffect; lu++){
//set the icon's new width
black[lu].width = iconWidth;
}
}
//if there are icons to the right
if ((s+rightEffect) < numShowing){
//loop over all icons to the right
for (var ru:int = s+rightEffect; ru < numShowing; ru++){
//set the icon's new width
black[ru].width = iconWidth;
}
}
reposition();
}
function reposition(){
if (numShowing > 16){
//set the first menu icon to the left of its container
black[0].x = 0;
//for all icons in the menu
for (var i:int = 1; i<numShowing; i++){
//set position according to width
black[i].x = black[i-1].x + black[i-1].width;
}
}
}
donc par exemple, si IconWidth est calculée à 2,8, puis les deux pour les boucles va redimensionner toutes les icônes qui devraient être redimensionnées à 2.8.
Ensuite, repositionnez chaque icône l'une à côté de l'autre.
Mais le problème est que le repositionnement ne fonctionne pas si iconWidth est trop petit. MAIS, en repositionnement, si j'ai ajouté manuellement une ligne pour définir une icône qui a actuellement une largeur de 50 à 2.8, elle s'affiche toujours! S'il vous plaît aider = [
Je ne sais pas w, mais je voudrais passer par le code avec le débogueur et regarder toutes les valeurs quand ils sont modifiés. – AttackingHobo
Je suis triste de dire que j'ai déjà :(J'ai regardé les largeurs, ils sont tout ce qu'ils devraient être: sauf que iconWidth serait 2.809 ... mais il met la largeur de 2.8 ... mais après ça la largeur est définitivement fixée à 2,8, les positions x et y sont bien, je ne sais pas – tre
hi tre, pourriez-vous fournir un morceau de code fonctionnel? Je veux dire un échantillon que nous pouvons compiler et voir ce que vous voulez dire :) Merci –