PDA

Volledige versie bekijken : achtergrond / tiling vertraagt site


KsChoice
%Europe/Berlin %549 %2006, 13:11
Wie kan me raad geven bij hetvolgende probleempje
Ik wil voor een foto-site een 'behangpapiereffectje' gebruiken
Ik merk echter dat dit de werking van mijn site behoorlijk vertraagt :

http://www.hartstikkide.com/test/zonder.html
http://www.hartstikkide.com/test/met.html

In met.html beïnvloedt de behangachtergrond duidelijk zowel het tweeningproces bij het verschijnen van de ingeladen foto (verloopt een stuk schokkeriger) als het bewegen van het scrollertje onderaan (werkt ook trager/schokkeriger als de versie zonder.html)

Voor mijn behangachtergrond heb ik al verschillende mogelijkheden uitgeprobeerd : 'tiling > dupliceren ifv van schermhoogte en breedte' / 'behangachtergrond volledig aangemaakt > in externe clip gestoken van slechts 5 K groot ... / ... zonder succes

Scroller :


onEnterFrame = function(){

mid = (Stage.width /2);
xmin = 0 ;
xmax = Stage.width;
ymin = scroller._y-10;
ymax= scroller._y + scroller._height;
speed = Math.floor((mid - _xmouse)/175);
naarrechts = Stage.width - (Stage.width/4);
naarlinks = 0 +(Stage.width/4);

//trace(speed);

if (_xmouse > xmin && _xmouse < naarlinks && _ymouse > ymin && _ymouse < ymax){scroller._x = scroller._x+speed ; menu_bar._alpha=0};
if (_xmouse > naarrechts && _xmouse < xmax && _ymouse > ymin && _ymouse < ymax){scroller._x = scroller._x+speed ; menu_bar._alpha=0};



// linkse & rechtse limiet
if (scroller._x > 10){scroller._x = 10};
if (scroller._x < (0 - 3 - scroller._width + Stage.width)){scroller._x = 0 - 3 - scroller._width + Stage.width};

} ;



de foto wordt zichtbaar met een mask-tween

picmasktween = new mx.transitions.Tween(pic_mask, "_yscale", EaseOut, pic_mask._height, (Stage.height-123), 2.5, true);

BernardV
%Europe/Berlin %568 %2006, 13:38
Probeer eens de bitmapfill te gebruiken voor de achtergrond.
Zet de tile in je lib en dan zoiets:

import flash.display.*;
Stage.align="TL";
var tile_mc:MovieClip = attachMovie("tile","tile",getNextHighestDepth());
var bitmap:BitmapData = new BitmapData(tile_mc._width,tile_mc._height,true,0);
bitmap.draw(tile_mc);
tile_mc.removeMovieClip();
tile_mc.unloadMovie();

_root.beginBitmapFill(bitmap,null,true,true);
_root.moveTo(0,0);
_root.lineTo(Stage.width,0);
_root.lineTo(Stage.width,Stage.height);
_root.lineTo(0,Stage.height);
_root.lineTo(0,0);
_root.endFill();

Ben zo vrij geweest de tile even te rippen, met bitmapfill werken de animaties erover nog behoorlijk snel.

KsChoice
%Europe/Berlin %703 %2006, 16:53
right !

alweer iets bijgeleerd ... :)

ik heb nog twee vraagjes / problemen :

1) hij zet de tiles altijd op het diepste niveau ... ik wil er eigenlijk nog een clip (bg_mc) onder plaatsen (die een colortransform doet ifv de gekozen foto) ... ik heb al wat geknoeid maar raak er nog niet meteen uit

2) ik werk met site-onderdelen die zich aanpassen als het browservenster wordt geresized ... zowat alle onderdelen staan in een functie reposition() die ik aanroep bij een resize ... > zet ik dit script in een functie die ik aanroep bij een resize of is er een betere oplossing ?

BernardV
%Europe/Berlin %712 %2006, 17:06
1 ) Daar moet ik ook even over nadenken...

2) ik zou de fill niet direct in een onresize functie zetten.. omdat het nog best zwaar is met vullen, dan zou ik gewoon een veel groter vlak vullen en dan zie je dus meer of minder van dat vlak.

KsChoice
%Europe/Berlin %713 %2006, 17:06
1) al zelf opgelost door een holder aan te maken die te laten vullen en met de diepte van de holder te spelen ... ik weet niet of het volgens de regels der kunst is maar het werkt wel