04. oktober 2004 - 14:36Der er
8 kommentarer og 1 løsning
Actionscript Error
Hejsa..
Jeg sidder og er igang med at lave en loader til min hjemmeside.. Det gør oz meget godt, men den tutorial jeg sidder med at givet mig et script, som jeg ikke kan indsætte nogen steder uden at den sidder at det ikke er muligt at indsætte det.. Så hvad der den såkaldte Error her:
Hvis du har noget nyere end flash 5 forstår jeg på ingen måde hvorfor du holer dig til dette efterhånden ret gamle program! I bare mx (6'eren) er actionscript, bl.a. syntaksen, da kun blevet lettere samtidig med at der er kommet nogle nye og næsten uundværlige funktioner.
Nåh men anyway... der er ikke nogen fejl i din kode, hvis man forestiller sig at der ikke er linjeskift i den, som det fremkommer her på siden. Du skal indsætte den i et frame, og ikke på et symbol - måske er det det du gør forkert?
Jeg holder mig tilbage da jeg er rimelig ny indenfor Flash og da jeg er blevet lært op i det, er det meget svært(for mig) at hoppe over til en nyere version hvor de fleste ting er rykket rundt, så jeg ikke kan finde dem, når jeg har brug for dem.. Jeg har skam også Flash MX 2004 liggende på min pc, men indtil jeg føler mig tilpas i Flash bruger jeg lige 5'eren indtil videre.. :)
Nå, men anyways tilbage til spørgsmålet.. Jeg synes selv jeg havde prøvet det med uden linieskift uden held, men denne gang virkede det..
Der må aldrig være strenge der er delt over i to linjer på den måde. Du må tilgegæld godt skrive det sådan her: loadBytes = (Math.round((_root.getBytesLoaded() / 1024) * 1000) / 1000 + " Kb" + "of " + Math.round((_root.getBytesTotal() / 1024) * 1000) / 1000 + " Kb total Loaded.");
Hvor du ikke splitter en streng med et linjeskift uden at afslutte den...
Men det virker jo nu, så jeg vil tillade mig at lægge et svar ;)
Flash 5 er smukt. Jeg ville ønske Macromedia aldrig havde udviklet vidre. Så ville jeg være Helten over alle herinde (Naturligvis bortset fra to herrer, der har lavet de fedeste onClipEvent(enterFrame) nogensinde)...
Jeg må så sige.. Hvorfor vil du dividere og gange så underligt ?? getBytesLoaded() / 1024 ? Hvad giver det dig ?
Hvis du vil have Bit (af en eller anden årsag) skal du dividere med 8
Jeg tror, det du søger, nemlig en preloader med tre decimaler, er dette:
hentet = _root.getBytesLoaded(); total = _root.getBytesTotal(); procent = Math.round((hentet/total) * 100000) / 1000; loadBytes = procent + " Kb of " _root.getBytesTotal() + " Kb total loaded";
Ellers er det dette, en preloader med Kb loaded / total:
hentet = _root.getBytesLoaded() / 1024; total = _root.getBytesTotal() / 1024; loadBytes = Math.round(hentet) + " Kb of " + Math.round(total) + " Kb total loaded";
slap nu af med din flash 5 nostalgi! ;) Da jeg havde flash 5 ventede jeg bare på en opdatering - det gamle actionscript sprog var jo håbløst bagud :P Det er da rart at det endelig kommer til at ligne et godt programmeringsprog som fx Java... Men der er stadig ingen grundt til at de har indført type strikte variabler, for i fx Java giver det mening, da man kan spare hukommelse - men i flash får man ikke meget ud af dem...
Ja ja. Jeg ved godt jeg er en gammel idiot. Men ikke desto mindre er min ovenstående udtalelse ganske korrekt. Det var den i hvert fald i sidste årtusinde. Anyway, jeg forstår ikke hvorfor bytes skal divideres med 1024. Men det er nok sådan noget nymodens pjat :))
Jeg har selv investeret i MX 2004, for at være lidt smart. Men jeg skriver stadig onClipEvent(load) og onClipEvent(enterFrame) på selve movieclips'ne. Og jeg skriver stadig loadVariablesNum() i stedet for LoadVars(). Der er nemlig sådan en smuk lille ting i Publish settings hvor man kan vælge Actionscript 1.0 i stedet for 2.0 (den er min ven) hi hi :))
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.