27. december 2004 - 00:24Der er
8 kommentarer og 1 løsning
virker i P6 men ikke P7, hvorfor?
hej E's
er der dr nogen der kan fortælle mig hvorfor dette (udemærkede) script virker perfekt i flashplayer 6 export med ikke virker ved export til Player 7 ? (halen forsvinder, sidste del af scriptet virker dog altid)
og hvordan kunne det evt. optimeres generelt (stammer fra en open source kode)
onClipEvent (enterFrame) { this.mandala._rotation += 6; // rotation thrust speed if (this._alpha<100) {// alpha fade-in this._alpha += 4; } } onClipEvent (load) { this.stop(); this.mandala.stop(); this._alpha = 0; radius = 220;// change the radius here or simply resize the perpetuum mobile movieClip step = 5;// step accuracy of drawing the pieces of circle with alpha effect. A higher value here is good on slow machines but U lose quality circle_pi = Math.PI/180; this._yscale = 20;// scale of the 3D screw. 100 = 2D mxc = 0x0099cc;// color of the arrow mlen = 270;// length in degree this.createEmptyMovieClip("mandala", 100);// this nested movie is not needed by a 2D only arrow for (ratio=0; ratio<mlen; ratio += step) { with (this.mandala) { mv = (ratio/mlen)*100;// calculate the percentage alpha value decrement beginGradientFill("radial", [0x000000, mxc], [0, mv], [radius-20, radius-20], {matrixType:"box", x:-250, y:-250, w:500, h:500, r:0});// here [radius-20, radius-20] determines the stroke moveTo(0, 0); x = -radius*Math.sin(degree*circle_pi);// circle piece calculation y = -radius*Math.cos(degree*circle_pi); lineTo(x, y); degree -= step; x = -radius*Math.sin(degree*circle_pi); y = -radius*Math.cos(degree*circle_pi); lineTo(x, y); endFill(); } } with (this.mandala) {// drawing the arrow head (triangle) x = -(radius+25); y = 0; moveTo(x, y); beginFill(mxc, 100); x = -(radius-55); y = 0; lineTo(x, y); x = -(radius-10); y = -50; lineTo(x, y); endFill(); } }
pyroman, det er ikke _helt_ det, det handler om :)
Det drejer sig om, at udefinerede (eller erklærede men utildelte) variabler er undefined og i FP6 er Number(undefined) === 0 mens det i FP7 er NaN. Derfor skal man altid initialisere sine tal og strenge - undefined bliver nemlig til den tomme streng i FP6, men til "undefined" i FP7.
Har du ellers gode links/tips til steder med veldokumenteret info på dette og ligende "issues" omkring Playerversionering, måske jeg er halv-blind med jeg syntes ikke at kunne finde en fyldestgørende list hos MM ? og jeg sidder titi med gamle ting jeg har bixet sammen helt tilbage i midt 90 som ikke virker i P7 (typisk preloadere og serverkommunikation's stuff).
tak for ovenstående indføring i initialisering af tal/strenge :)
- case-sensitivity, minVariabel er ikke det samme som minvariabel i FP7 - det var det i FP6
- Number(undefined), Number(null), String(undefined) og Boolean("test") gav i FP6 0, 0, "" og false, mens det i FP7 giver NaN, NaN, "undefined" og true.
Og det er sådan set det. På alle andre punkter opfører FP6 actonscript sig fuldstændig ens i FP6 og FP7.
Hvis du selvfølgelig skal til at konvertere helt tilbage fra FP5, så kommer der andre ting ind over. Og FP4 så er det helt galt.
Men de to førstnævnte punkter vil du blandt andet kunne læse om i den kommende Grundlæggende Programmering i ActionScript, der nok kommer på Globe Forlag til februar.
Jeg har aldrig nogensinde fået for fortalt eller læst præcist hvordan udefinerede variabler opfører sig, og da de ofte kan give problemer, har jeg bare vænnet mig til at definere alt fra starten, ligesom man ville gøre i (alle) andre sprog...
ahh, din egen bog...ja den fattede jeg ikke lige ;) Sig til hvis du skal have trykt noget billigere (bedre) end det kan gøres i DK jeg har bla. et lille tryk-broker-firma (EuroGroup.Ltd/euro-print.dk) i Beijing hvor vi laver tryksager til danske virksomheder, jeg kan på stående fod love dig MIN. 20% besparelse ...helt sikkert mere når nu det er Flash ;))
[flot at spamme sit eget spørgsmål, shoot me if you will] ;)
Synes godt om
Ny brugerNybegynder
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.