#L#Medlem sedan juli 20021 363 inlägg Hajj,
Har lite huvudvärk!
Har en flashfil som ska täcka hela browserfönstret, dvs 100% x 100%.
Har en bild med en modell som står i mitten som jag vill ska stanna i den positionen oavsett om man drar och sliter i browserfönstret.
Har även ett antal objekt som ligger i skilda mc's ovanpå denna bild som jag vill ska ha en fixerad position gentemot kanten på flashfilen.
Dvs jag vill sätta att t.ex mcMenu ska ligga på ett exakt avstånd från vänsterkanten på flashfilen oavsett storlek på browserfönstret.
Trodde jag kunde göra dett genom
Stage.scaleMode = "noScale";
Stage.align = "B";
var stageListener: Object = new Object();
stageListener.onResize = positionContent;
Stage.addListener(stageListener);
function positionContent():Void {
mcMenu._x = (Stage.width - Stage-width) + 30; <-- plockar bredden på flashfilmen, drar bort lika mycket och lägger sedan till den position från kanten jag vill ha
}
positionContent();
Men får det inte att funka!
Har testat att vänsterlägga stage-align och lägga menyn t.ex 30 från högerkanten, då funkar det prima. Men problemen uppstår när jag väljer att Stage.align ska ha värdet "B".
Hjälp snälla! :)
Jag har inte suttit så mycket i flash det sista året så mycket har jag glömt bort, men
i den koden du har här:
function positionContent():Void {
mcMenu._x = (Stage.width - [red][B]Stage-width[/B][/red]) + 30; <-- plockar bredden på flashfilmen, drar bort lika mycket och lägger sedan till den position från kanten jag vill ha
}
Borde det inte vara:
function positionContent():Void {
mcMenu._x = (Stage.width - [red][B]Stage.width[/B][/red]) + 30; <-- plockar bredden på flashfilmen, drar bort lika mycket och lägger sedan till den position från kanten jag vill ha
}
Dvs en punkt istället för bindesstreck.
Skulle det inte vara det så får du nog tyvärr vänta på att någon av gurusarna ser frågan, mirandir eller blixtsystem brukar ju se fel snabbare än man kan läsa dem. :)
Hehe...här kommer en oljad blixt ;)
Stage.width-Stage.width blir ju alltid 0 så den biten är överflödig.
Att ha något med ett bestämt avstånd från vänsterkanten skall inte kräva att du använder Stage.onResize on sidan är centrerad till vänster.
Jag skulle köra med t.ex. Stage.align = "TL" och sedan positionera t.ex. bilden du vill ha centrerad med:
import mx.utils.Delegate;
Stage.scaleMode = "noScale";
Stage.align = "TL";
var stageListener: Object = new Object();
stageListener.onResize = Delegate.create(this, positionContent);
Stage.addListener(stageListener);
function positionContent():Void {
pic_mc._x = (Stage.width/2) - (pic_mc._width/2);
pic_mc._y = (Stage.height/2) - (pic_mc._height/2);
}
positionContent();
Observera att jag kör med en delegate. Det är för att koden i positionContent funktionen skall köras i _root istället för i stageListener objektet.
#L#Medlem sedan juli 20021 363 inlägg
andyoumaydie skrev:
Jag har inte suttit så mycket i flash det sista året så mycket har jag glömt bort, men
i den koden du har här:
function positionContent():Void {
mcMenu._x = (Stage.width - [red][B]Stage-width[/B][/red]) + 30; <-- plockar bredden på flashfilmen, drar bort lika mycket och lägger sedan till den position från kanten jag vill ha
}
Borde det inte vara:
function positionContent():Void {
mcMenu._x = (Stage.width - [red][B]Stage.width[/B][/red]) + 30; <-- plockar bredden på flashfilmen, drar bort lika mycket och lägger sedan till den position från kanten jag vill ha
}
Dvs en punkt istället för bindesstreck.
Skulle det inte vara det så får du nog tyvärr vänta på att någon av gurusarna ser frågan, mirandir eller blixtsystem brukar ju se fel snabbare än man kan läsa dem. :)
Typomisstag av mig, skrev in det för hand när jag postade här på webforum. Har en punkt på det stället i min flashfil.
#L#Medlem sedan juli 20021 363 inlägg
Blixtsystems skrev:
Hehe...här kommer en oljad blixt ;)
Stage.width-Stage.width blir ju alltid 0 så den biten är överflödig.
Att ha något med ett bestämt avstånd från vänsterkanten skall inte kräva att du använder Stage.onResize on sidan är centrerad till vänster.
Jag skulle köra med t.ex. Stage.align = "TL" och sedan positionera t.ex. bilden du vill ha centrerad med:
import mx.utils.Delegate;
Stage.scaleMode = "noScale";
Stage.align = "TL";
var stageListener: Object = new Object();
stageListener.onResize = Delegate.create(this, positionContent);
Stage.addListener(stageListener);
function positionContent():Void {
pic_mc._x = (Stage.width/2) - (pic_mc._width/2);
pic_mc._y = (Stage.height/2) - (pic_mc._height/2);
}
positionContent();
Observera att jag kör med en delegate. Det är för att koden i positionContent funktionen skall köras i _root istället för i stageListener objektet.
Tipp-topp! Ska testa detta!