Volledige versie bekijken : duplicate veel movieclips
Maaike
%Europe/Berlin %629 %2005, 16:06
HoiHOi,
Het lukt me maar niet om hetvolgende uit te vogelen.
Ik heb een rij gemaakt van mc's:
var depth= Number = 1;
var h = 1;
//h=horizontale aantal
while (h<=54) {
duplicateMovieClip("stip0", "stip"+depth, depth++);
this["stip"+h]._x += 13.3*h;
this["stip"+h]._y += 0*h;
h++;
}
Dit werkt prima, ik heb nu een rij van 54 mc's.
Nu wil ik deze rij (van 54 mc's) 40 keer onderelkaar zetten.
1 rij eronder lukt nog wel:
var i = 1;
while (i<=54) {
duplicateMovieClip("stip"+i, "stip"+depth, depth++);
this["stip"+i]._x += 0*i;
this["stip"+i]._y += 13.3*1;
i++;
}
Maar nu wil ik in het totaal 40 rijen krijgen ipv 2.
i.pv. this["stip"+i]._y += 13.3*1;
zou er eigenlijk zoiets moeten staan als this["stip"+i]._y += 13.3*1 t/m 40;
Maar ik weet niet hoe ik dit voor elkaar moet krijgen (2x while gebruiken werkt niet, dan krijg ik diagonale mc's ipv rijen)
Ik hoop dat bovenstaande te volgen is :confused:
Heeft er iemand goede raad :) dan ben ik heel blij :) :)
Maaike
Dauntless
%Europe/Berlin %631 %2005, 16:09
var depth= 1;
var h = 1;
var rij = 0;
var elementenPerRij = 4;
//h=horizontale aantal
while (h<=54) {
duplicateMovieClip("stip0", "stip"+depth, depth++);
this["stip"+h]._x += 13.3*h;
this["stip"+h]._y += h*rij;
if(h == elementenPerRij) rij ++;
h++;
}
Zo?
Maaike
%Europe/Berlin %647 %2005, 16:32
Hoi Dauntless,
Dankje voor je reactie !
Helaass, zoiets heb ik al geprobeerd, maar nu zakken de movieclips alleen maar naar beneden..... (diagonaal) :mad:
Zou de depht dan niet meer werken?? (moet volgens mij ok zijn op deze manier)
Is er een variabele aan te maken met daarin de getallen 1 t/m 40? Of is er nog iets beters te bedenken?
Maaike :I
Roenes
%Europe/Berlin %651 %2005, 16:38
Kun je doen met een dubbele lus:
var depth = 1;
for(var i = 1; i <= 40; ++i)
{
for(var j = 1; j <= 54; ++j)
{
var mc = stip0.duplicateMovieClip("stip"+depth, depth++);
mc._x = 13.3 * j;
mc._y = i;
}
}
Zoiets moet het zijn :)
theFlashWizard
%Europe/Berlin %652 %2005, 16:39
zoek je zoiets:
http://www.kirupa.com/developer/actionscript/grid.htm
?
Dauntless
%Europe/Berlin %654 %2005, 16:42
Ok, veel te laat, maar toch :D
var depth= 1;
var rijen = 5
var kolommen = 7;
var tegelHoogte = stip0._height;
var tegelBreedte = stip0._width;
//h=horizontale aantal
for(var i=0; i<rijen; i++){
for(var j = 0; j<kolommen; j++){
var mc = duplicateMovieClip("stip0", "stip"+depth, depth);
this["stip"+depth]._x = i * tegelBreedte;
this["stip"+depth]._y = j * tegelHoogte;
depth++;
}
}
Maaike
%Europe/Berlin %673 %2005, 17:10
Dankjewel iedereen!
Ik heb het script van Dauntless uitgeprobeerd, werkt prima, behalve dat ik nu mijn ruimte tussen de stippen kwijt ben... ( 13.3 ) Hoe krijg ik die er weer tussen?
Maaike
Dauntless
%Europe/Berlin %681 %2005, 17:21
Zo:
var depth= 1;
var rijen = 5
var kolommen = 7;
var tegelHoogte = stip0._height;
var tegelBreedte = stip0._width;
var spacing:Number = 13.8;
//h=horizontale aantal
for(var i=0; i<rijen; i++){
for(var j = 0; j<kolommen; j++){
var mc = duplicateMovieClip("stip0", "stip"+depth, depth);
this["stip"+depth]._x = i * (tegelBreedte + spacing);
this["stip"+depth]._y = j * (tegelHoogte + spacing);
depth++;
}
}
-Have fun :)
Maaike
%Europe/Berlin %700 %2005, 17:48
Dauntless, nogmaals dank.
Ik had inderdaad al bedacht om hetvolgende toe te passen:
this["stip"+depth]._x = i * (tegelBreedte + 13.8)
this["stip"+depth]._y = j * (tegelHoogte + 13.8);
maar met
var spacing:Number = 13.8;
this["stip"+depth]._x = i * (tegelBreedte + spacing);
this["stip"+depth]._y = j * (tegelHoogte + spacing);
Is het natuurlijk mooier en beheersbaarder....
ALLEEN WERKT HET NIET :confused: er is dan nix meer te zien.
das wel heel erg maf toch ?? zit er soms een bug in het programma?
Ik heb nl. wel vaker het idee dat ik geen variabelen op kan tellen, en snap totaal niet hoe dat kan.
Iemand een idee?
Maaike :(
Dauntless
%Europe/Berlin %708 %2005, 18:00
Tsjah, euhm, het werkt bij mij... Start flash opnieuw op of zo? Of maak eens een nieuwe .fla, het kan zijn dat je huidige corrupt is.
Maaike
%Europe/Berlin %718 %2005, 18:14
Alles opnieuw opgestart en fijnfijn :) :) Het werkt weer.
Ik loop hier wel vaker tegenaan en als leek denk je dan dat het aan jezelf ligt.... (stomme :mad: computer die het gewoon zou moeten doen, en dure software.... maar goed).
Dankje voor de reacties !~
Maaike :I
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.