05. juli 2005 - 13:11Der er
8 kommentarer og 1 løsning
Finde den største variabel
Hej,
Jeg er ved at lave et flash-program, der ved programmets afslutning har 4 forskellige integer variabler. Når programmet slutter, skal der ske noget på baggrund af hvilken variabel, der er højest, hvilken variabel der er næsthøjst og hvilke to variable der er lavest. (Variablerne kan godt have samme værdi).
For at konkretisere lidt: jeg har fire forskellige billeder, der hver repræsenterer en af de fire variable. Jeg skal så ende med at disse fire billeder fordeler sig på 3 forskellige størrelsesforhold. Den højeste variabel skal således bestemme det største billede, den næsthøjeste det næststørste billede, og de 2 laveste det mindste billede. Hvis nogle variable får ens værdier skal de begge have samme størrelse alt efter om de er højst,næsthøjst eller lavest.
Hvilken tilgang skal jeg bruge for at finde ud af, hvordan disse variable fordeler sig på de 3 førnævnte kategorier(højst, næsthøjst,laveste)?
I bund og grund bare køre en for (var i=1;i<=4;i++) { _root["box"+i+"_mc"]._xScale=_root["box"+i]; _root["box"+i+"_mc"]._yScale=_root["box"+i]; } Hvilket ville kræve at variablerne (har kaldt dem box1 box2 osv) representerede % størrelsen som mc'erne skal ha, har kaldt dem box1_mc box2_mc osv.
Hvis ikke må du lige skrive så finder vi en løsning :) Mvh Martin
De 3 forskellige størrelser som billederne kan have, er all fastsat på forhånd, så jeg behøver ikke at skalere dem efter variablernes værdier.
For eksempel kunne jeg ende med variablerne:
a = 13 b = 5 c = 4 d = 1
I dette tilfælde skal det billede, der repræsenterer a, være størst, dernæst skal billedet, der repræsenterer b, være næststørst og til sidst skal de billeder, der repræsenterer c og d, være mindst. Et andet resultat kunne være:
a = 12 b = 5 c = 5 d = 1
I dette tilfælde ville a-billedet igen være størst, b og c-billederne være næststørst og kun d-billedet være det mindste.
Jeg er ikke den store kode-haj, så jeg tror ikke jeg udtrykker mig helt klart her ;) Som det er nu HAR jeg en kode der bestemmer størrelsen på mine billeder. Den kode har jeg tænkt mig at fyre af EFTER jeg har fundet ud af størst-mindst forholdene imellem de 4 variabler. Så billedstørrelsen er ikke mit problem. Det jeg har brug for er en kode, der finder ud af "rang-ordenen" imellem mine 4 variabler. Når først mit program ved hvilke variabler, der hører ind under kategorierne "størst", "mellem", og "mindst", så skulle mit problem være løst.
Jeg ved bare ikke lige hvordan jeg skal komme igang med denne kategorisering :)
PS. Tak fordi at du gider prøve at decifrere mine forklaringer ;)
Hva med noget ala var a:Number = 10; var b:Number = 30; var c:Number = 20; var d:Number = 35; var tal_array:Array = new Array(); tal_array[0] = new Array(a, "a"); tal_array[1] = new Array(b, "b"); tal_array[2] = new Array(c, "c"); tal_array[3] = new Array(d, "d"); tal_array.sort(2); for (var i = 0; i<=length(tal_array/3); i++) { trace(tal_array[i][1]+": "+tal_array[i][0]); }
Har lige fået indopereret tand implantat så kan vist ikke være til mere hjælp lige nu, må hellere hvile, håber du kan bruge det, ellers er jeg frygtligt tilbage en af dagene :) Mvh Martin
Jeg har ikke arbejdet med arrays i Actionscript før, men jeg havde på fornemmelsen at det nok kunne bruges i denne situation. Jeg vil prøve det af i næste uge, hvor jeg har tid igen, og så melder jeg tilbage. Tak for hjælpen indtil videre, og god bedring med implantatet! :)
Undskyld at jeg ikke nåede at tilbagemelde inden min ferie startede, men nu er jeg på min plads igen. Brugen af arrays var løsningen til mit problem. Det gik ikke helt så simpelt, som jeg havde regnet med, og min endelige kode er absolut ikke noget at råbe hurrah for, men det virker! ;) Bare smid et svar, så du kan få din velfortjente point :)
Det er bare helt i orden :) har også selv holdt mini-ferie såå ingen ko på isen eller hvad man nu siger :D
Her kommer et svar fra mig, og glad for det virkede
Fortsat god dag Martin
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.