mcBox[i].x; , "mcBox"+i+".x"; OF iets anders?

Status
Niet open voor verdere reacties.

gast0140

Gebruiker
Lid geworden
12 nov 2009
Berichten
83
hoi,

ik heb 4 mc's. mcBol, mcBox1, mcBox2, mcBox3.
ik zoek nu een mogelijkheid om mcBol willekeurig op mcBox1,2 of 3 te plaatsen.
dit is wat ik tot nu heb.
Code:
var i = Math.round(Math.random()*3);
mcBol.x = mcBox[i].x
mcBol.y = mcBox[i].y
ook het volgende heb ik geprobeerd
Code:
var i = Math.round(Math.random()*3);
mcBol.x = "mcBox"+i+".x";
mcBol.y = "mcBox"+i+".y";
ik hoop dat het duidelijk is wat ik voor elkaar wil krijgen.
MvG, gast0140.
 
Laatst bewerkt:
Hoi gast0140,
De mcBox zou betekenen: de i-de instantie van een array van mcBox. Maar die array bestaat niet, want er is geen mcBox gedefinieerd; er zijn alleen de afzonderlijke id's mcBox1, mcBox2 en mcBox3.
Het zal iets moeten worden als:
var box = "mcBox"+i;
mcBol.x = box.x;
mcBol.y = box.y;


Dat het niet werkt, zit vooral in iets anders.
  • De Math.random() geeft een waarde tussen 0 en 1,
  • en 3*Math.random() dus waarden tussen 0 en 3.
  • De Math.round() rondt naar boven òf naar beneden af.
  • Dan kunnen er dus de waarden 0, 1, 2, 3 uitkomen.
Maar er moeten alleen de waarden 1, 2, 3 uit komen.
Dat kan met de methode Math.ceil(). Deze rondt alleen naar boven af.

Ergo: var i = Math.ceil(Math.random()*3);
Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
csshunter,

Dankjewel dat je wil helpen.
Ik krijg nu wel twee errors:
error zei:
ReferenceError: Error #1069: Kan eigenschap x niet vinden bij String en er is geen standaardwaarde.
Hetzelfde bij de y.
volgens mij gaat flash ervan uit dat ik het volgende heb:
Code:
var box:[B]String[/B] = "mcBox"+i;
Hoe moet ik deze variabele definieren zodat flash het niet als een string ziet?

MvG, gast0140
 
Herstel! Waarschijnlijk:
var i = Math.ceil(Math.random()*3);
var mcBol = document.getElementById('mcBol');
var box = document.getElementById('mcBox'+i);
mcBol.x = box.x;
mcBol.y = box.y;
Nu ben ik niet in Flash-scripten ingevoerd, d.w.z. of dit en met name de "x" en de "y" positie zo werken als bedoeld, weet ik niet.
  • In gewoon javascript voor html levert dit in elk geval problemen op (zie hier op quirksmode.org).
Wie het beter weet, mag het zeggen! :)

Met vriendelijke groet,
CSShunter
 
RE: mcBox.x; , "mcBox"+i+".x"; OF iets anders?

hoi,

ik heb 4 mc's. mcBol, mcBox1, mcBox2, mcBox3.
ik zoek nu een mogelijkheid om mcBol willekeurig op mcBox1,2 of 3 te plaatsen.
dit is wat ik tot nu heb.
Code:
var i = Math.ceil(Math.round(Math.random()*3));
mcBol.x = mcBox[i].x
mcBol.y = mcBox[i].y
ook het volgende heb ik geprobeerd
Code:
var i = Math.ceil(Math.round(Math.random()*3));
mcBol.x = "mcBox"+i+".x";
mcBol.y = "mcBox"+i+".y";
ik hoop dat het duidelijk is wat ik voor elkaar wil krijgen.
MvG, gast0140.

Kan iemand met verstand van flash mij hiermee helpen. Het lijkt mij dat de fout ligt bij de notering. Ik zoek me nu al wekenlang rot om het op een goede manier voor elkaar te krijgen, maar bij alles wat ik probeer krijg ik alleen meer foutmeldingen.

MvG, gast0140
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan