Avatar billede plastic.gangsta Nybegynder
24. marts 2005 - 23:10 Der er 10 kommentarer og
1 løsning

vedr. baggrund

Hej, jeg har et større problem som jeg ikke selv kan se nogen umiddelbart løsning på selv...


Min flash film har en størrelse på 2133*800 , hvilket lyder ret vildt. DEt er fordi der er tegnet en kæmpe illustration i baggrunden og får at folk med større skærm størrelser skal have den fulde oplevelse af siden har vi lavet den så stor. Menuen og der hvor teksterne kommer frem er oppe i venstre hjørne således at alle kan se filmen.

Problemet er at folk med en mindre opløsning får kun en lille bid af denne store illustration at se, så jeg kunne godt tænke mig at skalere baggrundsillustration for folk med denne opløsning.

Siden baggrunden er lavet i vektor er det ikke noget problem at skalere den - men kan evt. lave en kode der siger at hvis brugeren har en opløsning som er mindre end en bestemt x og y værdi så skal baggrunden skaleres så den fylder 100% af brugerens skærm størrelse. Jeg ved muligheden ligger i at skalere baggrunden i flash , men jeg er usikker på om man kan skalere den på baggrund af brugerens størrelse


Håber virkelig der er nogen som har et godt råd
Avatar billede barklund Nybegynder
24. marts 2005 - 23:37 #1
Det smarteste vil være at fullscreen'e hele din flashfilm (altså 100% gange 100% i HTML'en) og bruge Stage.scaleMode = "noScale" og Stage.align = "TL".

Så kan du på Stage.onResize skalere baggrunden, som du synes. Og i øvrigt flytte elementer rundt, som de passer ind på siden.

--
Morten Barklund
Avatar billede pyroman Nybegynder
25. marts 2005 - 12:33 #2
...men ellers kan du finde brugeres opløsning med:

var bredde = System.capabilities.screenResolutionX;
var højde = System.capabilities.screenResolutionY;
Avatar billede plastic.gangsta Nybegynder
25. marts 2005 - 17:20 #3
okay - det var en start, men kan stadigvæk ikke 100% se hvordan den skal laves..

Hvis brugeren har en opløsning der er større(og lig) end 1152 (x) og 864 (y) så skal der ikke ske noget, det vil sige at brugeren skal have en no scale så baggrunden har den oprindelige proportioner på de 2133*800.

Hvis brugeren har en opløsning som er mindre, så skal baggrunden skaleres således den fitter 100% på brugerens baggrundstørrelse..

Håber i kan hjælpe mig med at skrive den ud...?
Avatar billede barklund Nybegynder
25. marts 2005 - 19:46 #4
Det nemmeste er at fullsize i html'en - har du lavet dette?

Derefter kan du blot skrive:

function onResize() {
    if (Stage.width >= 1152 && Stage.height >= 864) {
        bg._xscale = bg._yscale = 100;
    } else {
        bg._width = Stage.width;
        bg._height = Stage.height;
    }
}
Stage.addListener(this);
Stage.scaleMode = "noScale";
Stage.align = "TL";
onResize();

Det indsætter du bare på en frame, hvor bg refererer til instance-navnet på dit baggrunds-movieclip.

--
Morten Barklund
Avatar billede plastic.gangsta Nybegynder
26. marts 2005 - 13:09 #5
Mange tak - det ligner noget ala det jeg havde tænkt mig - der er lige to små issues endnu jeg gerne ser afklaret:
Jeg har denne kode i mit html dokumentet hvor jeg fullsizer på x aksen og giver den 800 px i højden.. Det skulle vil ikke volde mig nogle problemer ift. at du skriver at det smarteste er at fullsize i html'en?


I det baggrundsillustrationen er vektor baseret kan der ske nogle lidt sjove ting hvis f.eks. folk sidder og resizer deres vindue så det f.eks. er 1024 i bredden og 100 i højden (når man har sat at filmen skal skalere sig til 100% af brugerens vindue.

Er der nogen måde hvorpå man kan skalere (jvf. din overstående kode) baggrunden så den skaleres i takt med proportionerne i baggrunden??

  <script language="JavaScript" type="text/JavaScript">
<!--
if (top.frames.length!=0)
top.location=self.document.location;
self.moveTo(0,0)
self.resizeTo(screen.availWidth,977)

//-->
</script>
Avatar billede barklund Nybegynder
26. marts 2005 - 13:14 #6
Du kan godt få dem til at skalere ens. Det er faktisk rigtig nemt. Du skalerer bare på den led, der er "vigtigst" - og så giver du den anden led samme scale faktor:


function onResize() {
    if (Stage.width >= 1152 && Stage.height >= 864) {
        bg._xscale = bg._yscale = 100;
    } else {
        bg._width = Stage.width;
        bg._yscale = bg._xscale;
    }
}

Så skulle det spille :)
Avatar billede plastic.gangsta Nybegynder
26. marts 2005 - 13:18 #7
Det ser rigtigt fedt ud - mangler lige nogle filer her før jeg kan teste det men så snart jeg har det på plads får du point - endnu mange tak..

Forresten(hvis dette skal oprettes i et selvstændigt spg. så sig til, så vil jeg hellere end gerne gøre det)

Den kode jeg bruger til at skalere baggrunden med, kan du forklare hvorfor den ikke dur i alle browser versioner - den dur fint i IE, men har oplevet problemer i firefox og mozilla osv.

<script language="JavaScript" type="text/JavaScript">
<!--
if (top.frames.length!=0)
top.location=self.document.location;
self.moveTo(0,0)
self.resizeTo(screen.availWidth,977)

//-->
</script>
Avatar billede barklund Nybegynder
26. marts 2005 - 13:24 #8
Personligt skal du dælme ikke komme her og skalere mit vindue nogen som helst steder hen - det skal jeg nok bestemme. Derfor har jeg da også slået det fra i firefox, at vinduer kan flytte sig rundt og skalere sig, som de ønsker.

Ellers tak, hjemmesider, der ikke kan finde ud af at komme i den størrelse, som brugeren ønsker, har så tabt. Jeg tror det kaldes: brugeren har altid ret, og designeren tager altid fejl :D

--
Morten Barklund
Avatar billede plastic.gangsta Nybegynder
30. marts 2005 - 15:56 #9
svar så er der point barklund
Avatar billede barklund Nybegynder
30. marts 2005 - 16:03 #10
Helt fint :)
Avatar billede plastic.gangsta Nybegynder
02. april 2005 - 19:00 #11
jeg har oprettet et spg. der bygger videre på problematikken - kan ikke helt få den til at gøre som den skal

http://www.eksperten.dk/spm/605869
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