Volledige versie bekijken : creeren van een row
ixus
%Europe/Berlin %622 %2005, 15:56
Ik wil een row (4x op de x-as, 4 x op de y-as) creeren. Tot nu toe heb ik dit, maar alleen op de x-as wordt rij getoond. Wat doe ik fout ?
row = 4;
for (i=0; i<(row*row); i++) {
x = x + 20;
attachMovie ("arrow", "arrow" + i, i);
if (Math.floor(i/row) * row - i == 0) {
x = 145;
y = 20;
y = y + 20;
}
setProperty("arrow" + i, _x, x + 50);
setProperty("arrow" + i, _y, y + 50);
}
stop();
Dauntless
%Europe/Berlin %642 %2005, 16:25
Dit kan gewoon veel simpeler dmv een dubbele for lus: (Ps: Je gebruikt best ook geen setProperty meer)
var row:Number = 4;
var colum:Number = 4;
var depth:Number = 0;
var spacing:Number = 10;
for(var y = 0; y<colum; y++){
for(var x = 0; x<colum; x++){
var mc = this.attachMovie("arrow", "arrow"+x+"_"+y, depth++);
mc._y = (mc._height + spacing) * y;
mc._x = (mc._width + spacing) * x;
}
}
stop();
Roenes
%Europe/Berlin %699 %2005, 17:47
Ben ik weer :D Sorry DL maar ik moet weer even een opmerkinkje plaatsen :D
In je script maak je netjes een row en column var. Alleen in je for's gebruik je 2x column. Dit maakt nu nix uit omdat ze beide de waarde 4 hebben. Maar nu gebruik je row niet meer. Volgens mij wilde je voor 1 vd 2 column's row gebruiken of nie? En anders heb je een var die je nergens gebruikt, ook tof maar toch ;)
ixus
%Europe/Berlin %705 %2005, 17:55
Thx voor je reactie, het werkt idd. perfect, maar nu wil ik mijn MC nog wel eventjes positioneren op de stage. (Hij staat nu in de linkerbovenhoek.)
Moet ik mijn x en y waarde nu in dit stukje script plaatsen, of in de MC zelf ?
Oja, waarom setProperty beter niet te gebruiken?
Dauntless
%Europe/Berlin %711 %2005, 18:04
Omdat setProperty nog Flash 5 is (misschien zelfs Flash 4 ?) en misschien bestaat de kans dat setProperty en getProperty er in de volgende flashversie uitgehaald worden. Ook is de nieuwe structuur veel sneller (minder typen) en duidelijker, en mooier, en, en... :D
Optie 1:
//door een nieuwe holder mc te maken
this.createEmptyMovieClip("holder", depth++);
this.holder._x = 200;
this.holder._y = 200;
var root:MovieClip = this.holder;
var row:Number = 4;
var colum:Number = 4;
var depth:Number = 0;
var spacing:Number = 10;
for(var y = 0; y<row; y++){
for(var x = 0; x<colum; x++){
var mc = root.attachMovie("arrow", "arrow"+x+"_"+y, depth++);
mc._y = (mc._height + spacing) * y;
mc._x = (mc._width + spacing) * x;
}
}
stop();
Optie 2:
var xOffset:Number = 200;
var yOffset:Number = 200;
var row:Number = 4;
var colum:Number = 4;
var depth:Number = 0;
var spacing:Number = 10;
for(var y = 0; y<row; y++){
for(var x = 0; x<colum; x++){
var mc = this.attachMovie("arrow", "arrow"+x+"_"+y, depth++);
mc._y = (mc._height + spacing) * y + yOffset;
mc._x = (mc._width + spacing) * x + xOffset;
}
}
stop();
ixus
%Europe/Berlin %717 %2005, 18:13
Helemaal perfect,
Persoonlijk heb ik nogal wat moeite met de evolutie van Flash.
Meestal script ik wat en kijk vervolgens of het doet wat het moet doen.
Maar aldoende leert men en past men zich weer aan aan de nieuwe situatie.
Bedankt mede-flashers.
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.