Volledige versie bekijken : object achterelkaar neerzetten
heyman
%Europe/Berlin %674 %2005, 17:11
Hallo daar allemaal, ik ben bezig om een button achterelkaar neer te zetten met de funktie attachMovie. Dat lukt wel zoals je hieronder ziet. Nu wil ik alleen dat, na een bepaalde wijdte de _x coordinaat weer 0 wordt en de _y coordinatie veranderd zodat de buttons dus op een "nieuwe regel" beginnen.
Ik heb dat geprobeerd met een if functie, als de _x coordinaat hooger wordt dan 519 dan wordt er aan de _y de hoogte van het object aan toegevoegd. Dat werkt ook maar dan moet de _x weer 0 worden en weer gaan oplopen maar dat lukt me dus niet :(
Kan iemand me helpen? Groeten Heyman
ps
ik gebruik trouwes bij de width een andere code dan de height omdat de height altijd hetzelfde is maar de width kan veranderen...
for (i=0; i<30; i++) {
var mc = attachMovie("buttie", "newBut"+i, i);
//eerste _xpositie zodat ie niet 0 is of juist wel
pad._x = 0;
//berekenen _x positie buttons achterelkaar
xpositie = (_root["newBut"+(i-1)]._x+_root["newBut"+(i-1)]._width);
//ypositie = (_root["newBut"+(i-1)]._y+_root["newBut"+(i-1)]._height);
//set de x coordinaten
mc._x = xpositie;
//mc._y = ypositie;
//trace(xpositie); //uitkomst 520 -> breedte document
//Dit werkt dus niet!
if (xpositie>519) {
mc._y = mc._y+26;
mc._x = 0
//mc._x = xpositie
}
}
theFlashWizard
%Europe/Berlin %677 %2005, 17:14
zet je actionscript is tussen de [ as ] [ /as ] tages
mischienn heb je hier wat aan:
http://www.kirupa.com/developer/actionscript/grid.htm
heyman
%Europe/Berlin %691 %2005, 17:35
K bedankt ik ga er ff mee klooien
heyman
%Europe/Berlin %715 %2005, 18:10
werkt wel, maar het voorbeeld dat je gestuurd maakt een grid met een object met constante waarden ik wil een grid maken waarvan de _width van de het object waarmee het gebouwd wordt variable is.
Ik heb ook al gezocht hier en gegoogled maar niets nada rien gevonden...
Als iemand een idee heeeft laat maar horen
Groeten Heyman
theFlashWizard
%Europe/Berlin %745 %2005, 18:53
tja.. dan ist een kwestie van een formule ervoor bedenken.. ooit gedaan, nu weer iets meer uptodate gemaakt:
AX = 3 //amount op de X as
AY = 2 //amount op de Y as
T = 0//tussenruimte
A = AY*AX //totale hoeveelheid
for(i=0;i<A;i++){
mc = attachMovie("behang","behang"+i,i)
if(!W){
W = mc._width
H = mc._height
BX=W/2 //beginposX
BY=H/2 //beginposY
}
posX = i-(Math.floor(i/AX)*AX)
mc._x = BX+posX*(W+T)
posY = Math.floor(i/AX)
mc._y = BY+posY*(H+T)
}
deze zal je moeten ombouwen dat je een max AX opgeeft en dan een A en dat hij dan de AY berekent.
sanderH
%Europe/Berlin %747 %2005, 18:55
Hoi ik heb het Kirupascript aangepast
Je kan nu het aantal knoppen in de x richting en in de y richting bepalen dmv gridWidth en gridHeight.
De knoppen worden uitgelijnd op basis van de breedte van de movieclip "dot"
gridWidth = 3
gridHeight = 6
num=0;
for (var i=0;i < gridWidth;i++)
{
for (var j=0;j < gridHeight;j++)
{
dot.duplicateMovieClip("dot"+num,num);
mc=this["dot"+num];
mc._x=dot._width*i;
mc._y=dot._height*j;
num++;
}
}
dot._visible=0;
Ik hoop dat je hier wat aan hebt.
groeten,
Sander
heyman
%Europe/Berlin %781 %2005, 19:44
bedankt voor de snelle reacties ik ga er weer mee verder experimenteren. Ik ben nogal een actionscript prutser. Ik was bezig om deze oude code te verbeteren....
de bedoeling is; de width van de buttons aan te passen aan de width van het tekstfield van de tekst die op de button komt te staan.
En verlvolgens alles in een grid te zetten.
fla en swf -> www.websession.nl/grid
stop();
aantal = 5;
balkEen.onRollOver = function() {
balkEen.gotoAndPlay("over");
};
balkEen.onRollOut = function() {
balkEen.gotoAndPlay("out");
};
balkTwee.onRollOver = function() {
balkTwee.gotoAndPlay("over");
};
balkTwee.onRollOut = function() {
balkTwee.gotoAndPlay("out");
};
balkDrie.onRollOver = function() {
balkDrie.gotoAndPlay("over");
};
balkDrie.onRollOut = function() {
balkDrie.gotoAndPlay("out");
};
balkVier.onRollOver = function() {
balkVier.gotoAndPlay("over");
};
balkVier.onRollOut = function() {
balkVier.gotoAndPlay("out");
};
balkVijf.onRollOver = function() {
balkVijf.gotoAndPlay("over");
};
balkVijf.onRollOut = function() {
balkVijf.gotoAndPlay("out");
};
balkZes.onRollOver = function() {
balkZes.gotoAndPlay("over");
};
balkZes.onRollOut = function() {
balkZes.gotoAndPlay("out");
};
balkSeven.onRollOver = function() {
balkSeven.gotoAndPlay("over");
};
balkSeven.onRollOut = function() {
balkSeven.gotoAndPlay("out");
};
function buildTextFields(arr) {
arrayLen = arr.length;
for (var i = 1; i<arrayLen; i++) {
createTextField("my_txt"+i, i, 0, 0, 0, 20);
with (_root["my_txt"+i]) {
textColor = 0x000000;
autoSize = true;
selectable = false;
text = arr[i];
pad = _root["my_txt"+i];
yo = (_root["my_txt"+(i-1)]._x+_root["my_txt"+(i-1)].textWidth)+6;
trace(yo);
pad._x = yo;
pad._y = 0;
//trace(pad._x);
totaalWijd = pad._x+pad.textWidth;
trace(totaalWijd);
if (totaalWijd>600) {
pad._y = pad._y+24;
//i = 1
}
}
}
}
var help = new Array();
help[1] = "www.g.nl";
help[2] = "www.yahooghhhhhhhhhhhh.com";
help[3] = "www.altavista.com";
help[4] = "www.hotmailenaldieonzin.com";
help[5] = "www.heyan.com";
help[6] = "www.heyan.com";
help[7] = "www.heyan.com";
buildTextFields(help);
wijdEen = my_txt1.textWidth;
wijdTwee = my_txt2.textWidth;
wijdDrie = my_txt3.textWidth;
wijdVier = my_txt4.textWidth;
wijdVijf = my_txt5.textWidth;
wijdZes = my_txt6.textWidth;
wijdSeven = my_txt7.textWidth;
balkEen._width = (wijdEen+4);
balkTwee._width = (wijdTwee+4);
balkDrie._width = (wijdDrie+4);
balkVier._width = (wijdVier+4);
balkVijf._width = (wijdVijf+4);
balkZes._width = (wijdZes+4);
balkSeven._width = (wijdSeven+4);
balkEen._x = my_txt1._x;
balkEen._y = my_txt1._y;
balkTwee._x = my_txt2._x;
balkTwee._y = my_txt2._y;
balkDrie._x = my_txt3._x;
balkDrie._y = my_txt3._y;
balkVier._x = my_txt4._x;
balkVier._y = my_txt4._y;
balkVijf._x = my_txt5._x;
balkVijf._y = my_txt5._y;
balkZes._x = my_txt6._x;
balkZes._y = my_txt6._y;
balkSeven._x = my_txt7._x;
balkSeven._y = my_txt7._y;
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.