Visa ett inlägg
Oläst 2007-12-17, 13:55 #1
Seattlegrunges avatar
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2003
Inlägg: 979
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
Seattlegrunges avatar
 
Reg.datum: Nov 2003
Inlägg: 979
Är det någon flashguru där ute som kan hjälpa mig tro?

Jag har byggt en flv-spelare från scratch och har ett problem som kvarstår.
Min spelare är 352x264 pixlar och spelar alltså upp i 4:3-format. När jag slår över spelaren till fullscreen-läge skalas detta upp för att fylla ut skärmen, vilket inte är den bästa lösningen beroende på vilken upplösning användaren har på sin skärm (t ex widescreen-skärmar).
Därför var min tanke att använda Stage.scaleMode = "showAll"; för att skala upp videon utan att försöka fylla ut skärmen, dvs den bibehåller istället filmens proportioner.
När man använder showAll så skalas även min kontrollist upp (dvs play-, paus-knapp, tidslinje mm) så att den blir gigantiskt stor, vilket ser för j*vligt ut.
Det jag nu fått göra är att sätta scaleMode till noScale, men då dras ju hela bilden upp att fylla ut en hel skärm, så på en widescreen eller en stående skärm blir bilden väldigt förvrängd. Men i gengäld får jag min kontrollist liten och kan placera den var jag vill i fullscreen-läget.

Det jag önskar är att använda showAll, men samtidigt ha min kontrollist lika liten som i icke fullscreen-läge. Ungefär som på YouTube och andra sajter. Hur gör jag det? Hade jag bara kunnat räkna ut användarens skärmbredd och höjd, så kunde jag på nåt sätt använda dessa siffror och kalkylera ut min kontrollist så att den blir liten och visas på rätt ställe.

Är det någon som hänger med på vad jag menar?

Så här ser min kod ut för fullscreen-läge:

Kod:
Stage.scaleMode = "showAll";
Stage.showMenu = true;

function toggleFullScreen(){
  if(Stage["displayState"]=="normal"){
   Stage["displayState"]="fullScreen";
  }else{
   Stage["displayState"]="normal";
  }
}

ctrlbar.fullScreenBtn.onRelease = function(){
  toggleFullScreen();
}

function resizeHandler(){
  theVideo._height = Stage.height;
  theVideo._width = Stage.width;
}
resizeHandler();
var stageResize:Object = new Object();
stageResize.onResize = function(){
  resizeHandler();
}
Stage.addListener(stageResize);
Seattlegrunge är inte uppkopplad   Svara med citatSvara med citat