Avatar billede donslund Nybegynder
23. september 2003 - 20:07 Der er 24 kommentarer og
1 løsning

der er noget galt med beregningen

Jeg henter en variabel ind fra php. Så kører jeg følgende for at placere et mc ud fra værdien af variablen.

onClipEvent (enterFrame) {
ny_x = (_root.vaegt-70)11.35+23.5;
setProperty(this, _x, ny_x);
}

Hvis I sætter 121 ind i stedet for _root.vaegt, så skulle regnestykket give 602.35

Men den placerer ikke mc'et i 602.35
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:12 #1
Det er vel fordi du hiver et tal ind som en streng.

ny_x = parseInt(_root.vaegt-70)+(11.35+23.5);
Avatar billede barklund Nybegynder
23. september 2003 - 20:15 #2
Du skal nok parse til Number inden subtraktionen. Derudover forstår jeg ikke helt, hvad der skal ske med 11.35, der står lige efter en parentes - er det multiplikation, du har tænkt dig?

ny_x = (Number(_root.vaegt)-70)*11.35+23.5;

Og brug ikke setProperty men derimod direkte:

this._x = ny_x
Avatar billede donslund Nybegynder
23. september 2003 - 20:16 #3
Det skal jeg lige have testet på, men hvorfor opdateres min flashfilm ikke når jeg hiver den over på serveren og trykker F5 i browseren?
Avatar billede donslund Nybegynder
23. september 2003 - 20:18 #4
(variabel-70) ganges med 11.35 og derefter fratrækkes 23.5
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:18 #5
(parseInt(_root.vaegt-70)*(11.35)+23.5);
Avatar billede donslund Nybegynder
23. september 2003 - 20:22 #6
jeres forslag er sikkert rigtigt gode, men jeg kan ikke få min browser til at opdatere flash-filmen.
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:23 #7
Opdatere flashfilmen? Tøm Cachen...
Avatar billede donslund Nybegynder
23. september 2003 - 20:23 #8
jo, nu tror jeg jeg kan. Jeg tester lige jeres forslag.
Avatar billede donslund Nybegynder
23. september 2003 - 20:26 #9
Filen ligger her:
http://www.kongeborgen.dk/projekt100/top.html

Det første tekstfelt er nput-variablen. Det næste er _root.viser.ny_x det sidste felt er _root.viser._x

Det hænger ikke helt sammen.
Avatar billede donslund Nybegynder
23. september 2003 - 20:33 #10
Hvorfor melder min ny_x NaN?
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:33 #11
Næh der står jo "NaN" = Not a number

(parseInt(_root.vaegt)-70))*(11.35) 23.5;
Avatar billede barklund Nybegynder
23. september 2003 - 20:37 #12
(husk et plus til sidst :)
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:39 #13
nåja så skidt da....
Avatar billede barklund Nybegynder
23. september 2003 - 20:39 #14
Men noget helt andet - det er lidt dumt at lave beregningen på hver eneste enterFrame - men det kan du jo lave om, når det virker :)
Avatar billede donslund Nybegynder
23. september 2003 - 20:39 #15
Perfekt. Nu er den der hvor den skal være. Tak for det.

Hvis jeg nu vil placere et mc for hver værdi jeg har i min db, så vil jeg gribe det an med DublicateMovieclip, men hvordan får jeg flere variabler med fra php-dokumentet?
Avatar billede donslund Nybegynder
23. september 2003 - 20:44 #16
Kan jeg stoppe min Dublicate in i en for-sætning?

for (i=0; i<=antal_værdier_i_db; i++) {
  duplicateMovieClip (_root.viser, "mc"+i, i);
  ny_x = (parseInt(_root.vaegt[i])-70)*(11.35)+23.5;
  _root.mc+i._x = ny_x;
}

Er det noget i denne retning?
Avatar billede donslund Nybegynder
23. september 2003 - 20:47 #17
Hvis jeg nu lader php aflevere en streng der minder om

element0, element1, element2,...elementN

Så må jeg kunne få flash til at omdanne dette til et array. Har jeg ret?
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:48 #18
Hvis du kender antallet af værdier i databasen er det så ikke nok at løbe det antal igennem mon så ikke du skal nøjes med "mindre end" fremfor din nuværende "mindre end eller lig med"

(i=0; i<antal_værdier_i_db; i++)

Du kan altid bryde ud med :

break;
Avatar billede nikolajdu Nybegynder
23. september 2003 - 20:49 #19
for (i=0; i<=antal_værdier_i_db; i++) {
  ny_x[i] = parseInt("element"+i);
}
Avatar billede donslund Nybegynder
23. september 2003 - 20:55 #20
jeg kender ikke antallet af værdier.

Jeg pusler lige lidt med det.

Men nu kommer der jo "Venner" i Flimmerkassen ;-)
Avatar billede nikolajdu Nybegynder
23. september 2003 - 21:01 #21
for (i=0; i<=antal_værdier_i_db; i++) {
if((_root["element"+i])
  ny_x[i] = parseInt("element"+i);
}else{
break;
}
}
Avatar billede barklund Nybegynder
23. september 2003 - 22:38 #22
Hvis din php outputter:

vaegte=123,345,678

Så kan du i flash:

// Lav array
var vaegt = _root.vaegte.split(",");
var mc;
// løb det igennem
for (i=0; i<=vaegt.length; i++) {
    mc = _root.viser.duplicateMovieClip("mc"+i, i);
    mc._x = (Number(vaegt[i])-70)*11.35+23.5;
}
Avatar billede donslund Nybegynder
12. oktober 2003 - 19:02 #23
Jeg har løst problemet, men jeg kan ikke her i "oprydningens stund" gennemskue hvem af jer der skal have point. I skal vel egentlig dele dem. Kan I ikke lige smide et svar?
Avatar billede barklund Nybegynder
13. oktober 2003 - 12:15 #24
Ok :)
Avatar billede barklund Nybegynder
19. oktober 2003 - 17:35 #25
Tark for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester