Avatar billede paask Nybegynder
03. februar 2003 - 10:55 Der er 21 kommentarer og
1 løsning

Forskelle på MX build versioner

Hej derude :)

Jeg sidder og kæmper med et problem der er opstået som følge af, at udvikle med den nyeste build version af MX playeren. Min fil loader en masse andre ind i forskellige levels hvor filnavnene er styret dynamisk alt efter variabler der sendes med når root filen hentes.

Jeg har rodet lidt rundt i Macromedia's tech specs, men har ikke lige kunne finde den store forskel på build versionerne. Er der nogen af jer der kan specificere områder man skal holde sig fra, når filen skal kunne køre i en ren 6.0 version?

mvh
paask
Avatar billede paask Nybegynder
03. februar 2003 - 10:57 #1
Skal lige siges, at filen som naturligt følge kun virker på min maskine, men ikke på andres uden samme build version.
Avatar billede paask Nybegynder
03. februar 2003 - 16:18 #2
Kan det virkeligt være rigtigt, at Macromedia har lavet en hindring for os udviklere? At de swf filer jeg eksporterer har et build nummer svarende til det plugin jeg nu end har hentet, og ikke eksporterer til ren 6.0 version?

Det er selvfølgelig smart nok, at man kan hente et nyt plugin som normal bruger, men hvis jeg som udvikler også eksporterer til det build, så afskærer jeg jo alle der har et lavere nummer...

Det er da en seriøs bug vil jeg mene, og faktisk et abnormt stort problem da jeg så ikke kan opgradere mit plugin til nye builds overhovedet, og dermed afskærmer mig fra at se de nyeste ændringer firmaet tilfører.

Desuden har jeg cab#version=6,0,0,0 i html koden, men den dutter ikke, så det må vel hardcodes i swf filens komprimering. Har I nogen idé om det er muligt at rette det i Flash's systemfiler, eller skal jeg virkeligt til at afinstallere plugin+program og reinstallere fra bunden?
Avatar billede barklund Nybegynder
04. februar 2003 - 11:31 #3
Nej, det er absolut ikke tilfældet, har du en vilkårlig flash6-build, kan du se alt flash6 content... Dog er der i nogle builds ændret en anelse i enkelte ting, der kan gøre, at hvis du har brugt en speciel feature fra en nyere build, så kan andre med en ældre ikke se den, eller omvendt hvis du har brugt en feature, der er fjernet i nyere builds, men selv bruger en gammel, så kan kun du se den...

Hvad er det helt præcist, som du har brugt af feature, der ikke virker? Er det fordi, du lokalt har skrevet variabel direkte i din swf-src? altså:

<param name=movie value="movie.swf?toload=game1.swf" />

Og du eksekverer via en html-fil, der ligger lokalt på computeren? For så har du ganske ret i, at det fra en eller anden flash6-build ikke længere virkede, men istedet skal du bruge flashvars-attributten: http://www.macromedia.com/support/flash/ts/documents/flashvars.htm

/Barklund
Avatar billede paask Nybegynder
04. februar 2003 - 12:28 #4
Hej Barklund,

Det ser ud som om du har fat i noget af det rigtige, bortset fra, at min html fil loader en swf der simulerer en egenlig .jsp fil der kommer på senere. Den swf fil loader så en anden i level0 med en masse querystring'ede variabler, altså udenom html filen.

Den nye root fil loader så en masse andre i forskellige levels, hvor 10 er højest men loades som nr. 4. Level 10 er derefter den eneste synlige fil... Så filen i level0 bliver altså eksekveret korrekt, dog er det kun den øverste fil der vises.

Som sagt simulerer jeg et kald gennem en swf fil nu, som mon ikke jeg skal tænke på at bruge FlashVars til det endelige. Det er dog stadig underligt, for jeg benytter ingen specielle MX features i koden, kun det at jeg loader et billede direkte.

Men, jeg har idag fået en ny maskine her på arbejdet med gammelt build, så jeg kan ikke længere se mine filer selv. Nu forsøger jeg at gemme de gamle .fla filer som nye et andet sted og reeksportere, så burde det virke igen. Dog vil jeg ikke hente nyt build...

Tak for nu i hvert fald :)

mvh
paask
Avatar billede paask Nybegynder
04. februar 2003 - 12:53 #5
Og det virkede så ikke at gemme som ny og re-eksportere... jeg er faktisk lidt lost nu, og min eneste idé er at bygge filerne fra bunden og kopiere kode etc over, men det holder jo bare ikke...

Her er koden på den 1. fil der hentes af html koden:

theSport = "bball";
theName = "michael";
userName = "kaare";
version = "large";
opponent = "computer";
shadows = "on";
framerate = "normal";
quality = "HIGH";
language = 1;
loadMovieNum("level0filen"+framerate+".swf?sport="+theSport+"&name="+theName+"&userName="+userName+"&version="+version+"&opponent="+opponent+"&shadows="+shadows+"&framerate="+framerate+"&quality="+quality+"&language="+language, 0);

Og her er koden i level0filen der, naturligvis, hentes ind i level0.
Håber du kan se om der ligger noget der ikke burde:

onClipEvent (load) {
    loadMovieNum("scripts.swf", 1);
    sp = _parent.sport;
    ve = _parent.version;
    na = _parent.name.toLowerCase();
    fileNames = new Array("", "scripts.swf", sp+"_"+ve+"_bg.jpg", "controls.swf", na+"_"+ve+".swf", "stickman_"+sp+"_"+ve+".swf");
    levels = new Array("", 1, 2, 10, 4, 6);
    counter = 1;
    level = levels[counter];
}
onClipEvent (enterFrame) {
    if (counter<levels.length-1) {
        bytes = _level[level].getBytesLoaded();
        loadedBytes = _level[level].getBytesTotal();
        if (bytes == loadedBytes && level == levels[counter]) {
            counter++;
            level = levels[counter];
            loadMovieNum(fileNames[counter], level);
            if (counter == levels.length-1) {
                _level10.play();
            }
        }
    }
}

Det ser jo ellers ganske ok ud... jeg fatter det ikke...
Avatar billede barklund Nybegynder
04. februar 2003 - 13:01 #6
Denne har jeg ALDRIG set... Men det ville godt nok være smart...

_level[level]

Jeg har altid brugt:

eval("_level"+level);

Eller endnu bedre at have en reference til det pågældene level liggende i et array... Og altså ikke bare level-nummeret...
Avatar billede paask Nybegynder
04. februar 2003 - 13:08 #7
Det kan da godt være at det var den der kun virkede med ny build, jeg var ellers lige så glad for min load eksekvering...

Jeg prøvede lige med "_level1" etc i levels arrayet og placerede så den nye loadede med loadMovieNum(fileNames[counter], Number(level.slice(6)));

Den virkede dog ikke...
Avatar billede barklund Nybegynder
04. februar 2003 - 13:19 #8
Nææ... for _level1 er jo en variabel, og denne findes ikke før, der er loaded noget ind i denne... Jeg plejer at gøre det lidt omvendt, således at jeg i min film, der skal loades ind definerer en variabel i første frame, for eksempel:

Object.contentModule = this;

Og så kan du i dit loop have:

levels = ["contentModule"];

Og så:

        bytes = Object[level].getBytesLoaded();
        loadedBytes = Object[level].getBytesTotal();
        if (typeof Object[level] == "movieclip" && bytes == loadedBytes && level == levels[counter]) {
            counter++;
            level = levels[counter];
            loadMovieNum(fileNames[counter], level);
            if (counter == levels.length-1) {
                _level10.play();
            }
        }


Hvor "typeof" sikrer, at det pågældende level er loaded ind (ellers er typen "undefined"...og "bytes == loadedBytes" er true, der begge er "undefined")
Avatar billede paask Nybegynder
04. februar 2003 - 13:28 #9
Hmmm ja det lyder meget smart, men hvad så når jeg loader et billede ind i level2, så går den jo ikke, med mindre jeg skal lave det om til en swf...
Avatar billede paask Nybegynder
04. februar 2003 - 13:54 #10
Barklund, kan det virkeligt være rigtigt, at jeg nu ikke kan overføre variabler med den loadMovieNum jeg startede med at vise? Jeg kan ikke længere trace de værdier, det er bare for underligt!
Avatar billede barklund Nybegynder
04. februar 2003 - 13:57 #11
Ikke når du tester lokalt med nogle flash6-build's, nej... Det mener jeg i hvert fald var en af de ting, der er blevet disabled... Men det virker, hvis du tester fra en anden server og http...
Avatar billede paask Nybegynder
04. februar 2003 - 13:59 #12
Okay... men jeg tester nu fra en server, filerne ligger ikke lokalt. Dog er de selvfølgelig ikke uploadet... bør de være det?

Jeg er simpelthen ved at få lange løg af det her... :)
Avatar billede barklund Nybegynder
04. februar 2003 - 14:01 #13
Hvordan kan du teste fra en server, uden at filerne er uploadet?
Avatar billede paask Nybegynder
04. februar 2003 - 14:01 #14
Barklund, jeg er meget glad for du kommer med input, jeg var ved at være helt fortabt alene. Tak for det :)
Avatar billede paask Nybegynder
04. februar 2003 - 14:02 #15
Altså, jeg arbejder på en netværksserver, dvs. filerne ligger lokalt på netværket men er ikke uploadet.
Avatar billede barklund Nybegynder
04. februar 2003 - 14:09 #16
Så er de også uploaded! Ikke via ftp, nej, men via tcp/ip - og det er vel lige så godt :o)

Og så burde det virke... Lav et væld af debug beskeder rundt omkring.. Jeg har ikke noget ide om, hvor problemet ligger henne lige nu, så du bliver nødt til at jagte det selv!
Avatar billede paask Nybegynder
04. februar 2003 - 14:09 #17
All rightie, nu arbejder jeg udelukkende på testserver og ikke udviklingsserver. Så er alt godt igen, selvom hele min loadprocess nok skal forenkles en hel del.
Avatar billede paask Nybegynder
04. februar 2003 - 14:10 #18
Jep, men problemet ligger nok i den _level[level].get...

Så, back to hadcoded preloaderstads, desværre.

Men takker skal de da ha' :)

og point skal du vist også have smidt i nakken...

K
Avatar billede barklund Nybegynder
04. februar 2003 - 14:14 #19
Du kan stadig gøre det samme via eval("_level"+level).get...

Men her er et svar...
Avatar billede paask Nybegynder
04. februar 2003 - 14:19 #20
Du har da helt ret, og det hele virker herligt nu :)

Bare lidt underligt al det her, og min hjerne var så absolut ved at koge over.

Kunne man ikke engang vælge avanceret og tildele flere point end man har afsat? For du har helt sikkert fortjent mere, det betyder seriøst meget for mig det her!

Tusind tak,
Kåre
Avatar billede barklund Nybegynder
04. februar 2003 - 14:22 #21
Du klikker på pointene helt oppe i hjørnet for at hæve dem... først derefter kan du tildele dem... Men 30 point er fint nok :o)

Se evt. http://www.eksperten.dk/spm/313294

/Barklund
Avatar billede paask Nybegynder
04. februar 2003 - 14:35 #22
Ah ja der var de jo :)

Well Barklund, jeg har nu lidt for travlt med en deadline lige rundt om hjørnet, men glimrende initiativ er det, ligesom det vi engang startede over et eller andet fora. Kan ikke lige huske hvad, men et dansk ac.org vil være for keowl.

Work, work, work :)
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