Avatar billede grafikeren Nybegynder
12. maj 2003 - 17:34 Der er 14 kommentarer og
1 løsning

Grafisk visning af en numerisk variabel

Hej!

Hvis jeg har hentet nogle tal ind i min flash fil. Tallene er nu vist i dynamiske tekstbokse. Jeg ville så gerne ved siden af lave en grafisk bar, som viste tallet (1-10) i sin længde. Altså:

----------    10
-----        5

Hvordan skriver jeg det som et script? :-)
Avatar billede barklund Nybegynder
12. maj 2003 - 17:37 #1
Lavet movieclip og sæt dets længde til:

indicator._yscale = 10*point;

Men selvfølgelig fårst når din variabel er loaded...
Avatar billede grafikeren Nybegynder
12. maj 2003 - 17:43 #2
dvs,

i frame 5 bliver de forskellige variabler læst ind i nogle teksbokse (fx musik).

Så laver jeg et movieclip, som har scriptet:
onClipEvent (load) {
    indicator._yscale = 10*musik;
}

... det ser ikke ud til at virke? :-]
Avatar billede grafikeren Nybegynder
12. maj 2003 - 17:52 #3
Jeg lægger movieclippet ind i frame 10. Hvor mange frame skal man "give" en database for at sende nogle variabler?

Movieclippet vises slet ikke, når jeg prøver...
Avatar billede barklund Nybegynder
12. maj 2003 - 17:56 #4
det er fordi musik er 0... så bliver yscale 0 procent...

har du lavet et tekstfelt i samme frame, der viser værdien af "musik" samtidig med scriptet:

musik += "i frame"
Avatar billede grafikeren Nybegynder
12. maj 2003 - 18:00 #5
... hm

Musik vises i en tekstboks, og den er 5. Så den læser godt nok fra asp filen. Men det betyder vel ikke noget, at baren ikke ligger i samme frame som tekstboksen...
Avatar billede barklund Nybegynder
12. maj 2003 - 18:11 #6
i dit asp-output kan du lægge noget "&loaded=true" ind til sidst - så kan du se, at det er loaded...

Og så kan du i sætte loaded til "" inden du loader og 2 frames senere tjekke, om loaded er "true" og hvis ikke gå en frame tilbage og fortsæt.

Når det så er loaded sætter du yscale:

frame 1:
loaded = "";
loadVariablesNum("vis.asp?id="+_root.id,0);

frame 3:
if (loaded == "true") {
    indicator._yscale = 10*_root.musik;
    stop();
} else {
    gotoAndPlay(2)
}

/Barklund
Avatar billede grafikeren Nybegynder
12. maj 2003 - 18:51 #7
Hvis jeg fx har 6 forskellige barer, som varierer i forhold til forskellige variabler (musik, sang). Skal man så ikke lave det på en anden måde. Fx ved labels på de forskellige barer??

Jeg kan godt få loading til at virke, men den læser ikke i musik, som det dynamiske tekstfelt gør. Den blinker bare ved max bredte, da den ikke modtager loaded = "true" endnu.
Avatar billede grafikeren Nybegynder
12. maj 2003 - 19:09 #8
Hvis man vil lave den med flere forskellige bare (linjer), kan man så ikke gøre sådan:

if (loaded == "true") {
musik=10*_root.musik
    setProperty ("bar1", _xscale, musik);
    stop ();
} else {
    gotoAndPlay (5);
}


Men det virker så stadig ikke. :-(
Avatar billede barklund Nybegynder
12. maj 2003 - 19:13 #9
prøv at skrive:

if (loaded == "true") {
    trace("musik = "+_root.musik);
    bar1._xscale = 10*_root.musik;
    stop ();
} else {
    gotoAndPlay (5);
}
Avatar billede barklund Nybegynder
12. maj 2003 - 19:14 #10
har du ikke tilføjet "&loaded=true" til dit asp?
Avatar billede grafikeren Nybegynder
12. maj 2003 - 19:52 #11
Yep. Nu virker det! Så skal jeg bare lige finde ud af at baren starter det samme sted fra højre. Den skal vel bare flyttes lidt rundt med inde i symbolet?

Læg et svar.
Avatar billede barklund Nybegynder
12. maj 2003 - 20:03 #12
Det skal være placeret så højre side af grafikken er i centrum af symbolet... :)
Avatar billede barklund Nybegynder
12. maj 2003 - 20:04 #13
og fjern endelig linien med "trace()" igen... Den er er kun til debug...
Avatar billede barklund Nybegynder
12. maj 2003 - 20:54 #14
Tark :)
Avatar billede grafikeren Nybegynder
12. maj 2003 - 21:00 #15
:) Selv tak...
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