webForumDet fria alternativet

Problem med duplicering av bakgrund i fullscreen SWF

Flash

1 svar · 465 visningar · startad av saturday

Medlem sedan jan. 2007133 inlägg
Frågan#1

Jag har ett dilemma. Har letat febrilt på google och massa andra forum men inte hittat det jag letat efter. Så därför skriver jag här.

Jag har alltså min swf fil i fullscreen (width="100%", height="100%") och noscale(För att objekten ska behålla rätt storlek). Har ställt in så att innehållet i SWF filen ska vara "middle" i horisontellt läge(För att objekten i swf filen alltid ska vara centrerade i sidled) och "top" i vertikalt läge.

Jag vill ha en duplicerande bakgrund i horisontellt läge så därför använder jag mig av följande script:

tileBG = function () {
tile_width = 5;
//
x_max = Math.round(Stage.width/tile_width);
trace(x_max);
for (x=0; x<=x_max; x++) {
bg = _root.attachMovie("bground", "bg"+x, this.getNextHighestDepth());
bg._x = tile_width*x;
}
};
tileBG();

Nu till problemen. Flashfilen har egentligen en storlek på bara 857x817 pixlar i storlek(Men jag har ju tagit bort det och gjort den till fullscreen via publish settings).

x=0 är inte det samma som 0 kordinaten i webbläsaren verkar det som. Detta resulterar i en vit linje längs med hela vänstra sidan i webbläsaren(Se bifogad bild), i utrymmet mellan webbläsarens vänsterkant och själva flashfilen. "x=0" blir nollpunkten för själva filen(857x817) och inte nollpunkten för webbläsaren har jag konstaterat.

Hur får jag bakgrunden att börja duplicera sig i webbläsarens nollpunkt? Dvs, kan jag få fram webbläsarens 0 punkt via actionscript eller är detta någon dum inställning jag missat?

Jag har ett ytterligare problem med detta script också. När bakgrunden duplicerar sig lägger den sig över allt annat(Movieclips, bilder, etc) även om scriptet ovan ligger i ett lager under objekten i swf filen. Hur får jag scriptet att duplicera bilden under allt innehåll i stället?

Tacksam för lösningar.

mmm.jpg
Medlem sedan jan. 2007133 inlägg
#2

Löste det själv genom att tänka om lite...

Bakgrunden löste jag med att strunta i duplicering och bara dra ut bilden i sidled i stället. Jag satte denna kod på bakgrundsbilden(Movieclip):

onClipEvent(enterFrame){
this._width = Stage.width
}

Nollpunkten löste jag med att lägga om "align" till left/top(Då blir swf filens nollpunkt densamma som webbläsarens) i stället för top/centrerat och lade följande script på det movieclip jag vill kontrollera/centrera:

onClipEvent(enterFrame){
this._x = Stage.width / 2;
}

Och vips så fungerar allt som önskat, se bild nedan för resultat!

Ps. Fast om någon har ett bra duplicerings-loop-script av ett movieclip/bakgrund i Flash så är det välkommet. Det är kanske inte alltid man har en bakgrund som man vill dra ut menar jag.

mmm.jpg
262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)