Volledige versie bekijken : afbeelding schalen
Joshua_abdon_sly
%Europe/Berlin %519 %2008, 13:27
Beste FF'ers
Ik ben net gestart met de uitwerking van mijn site.
Nu kom ik al een eerste probleem tegen, in mijn bibliotheek zit een afbeelding dat ik wil schalen telkens als de browser geschaald wordt.
dit is de code:
this.attachMovie("bgpic", "bgpic_mc", this.getNextHighestDepth(), {_x:0, _y:0});
bgpic_mc._height = Stage.height;
bgpic_mc._width = bgpic.width*(Stage.height/bgpic._height);
Het is de bgpic_mc.width die niet mee wil werken.
mvg
Josh
Sushi
%Europe/Berlin %529 %2008, 13:42
moet er niet staan : met + erbij
bgpic_mc._width += bgpic.width*(Stage.height/bgpic._height);
Joshua_abdon_sly
%Europe/Berlin %537 %2008, 13:54
Met die + erbij werkt het ook niet.
Nog een suggestie?
grtz
Sushi
%Europe/Berlin %544 %2008, 14:03
het ligt iig aan het laatste stukje, probeer eerst te kijken of dit werkt :
bgpic_mc._width = 100 //of een ander getal
werkt dat wel, dan doe je iets fout in dit gedeelte : bgpic.width*(Stage.height/bgpic._height); en Stage.height;
Joshua_abdon_sly
%Europe/Berlin %548 %2008, 14:09
oke, ik doe dus iets fout in het laatste gedeelte.
De stageheight werkt goed.
Maar wat weet ik niet??
bgpic.width*(Stage.height/bgpic._height)
Hiermee wil ik dat de breedte van de afbeelding geschaald wordt met gelijke grote als de hoogte van de afbeelding. :S
Kan het zijn dat ik niet rechtstreeks de afbeeldingsbreedte en hoogte kan nemen?
grtz
Jan
%Europe/Berlin %551 %2008, 14:14
Nu kom ik al een eerste probleem tegen, in mijn bibliotheek zit een afbeelding dat ik wil schalen telkens als de browser geschaald wordt.
http://www.flashfocus.nl/forum/showthread.php?t=6338#full%20browser%20flash
http://www.adobe.com/livedocs/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002692.html
bgpic.width
het moet _width zijn ...
En bgpic is de linkage ID van de library, die kan je niet aanspreken als instance name.
De instance name is bgpic_mc
Groeten,
http://users.telenet.be/jansurf/cwo.png Jan
Joshua_abdon_sly
%Europe/Berlin %559 %2008, 14:25
Bedankt voor de opmerking Jan, maar het lijkt nog niet te werken.
Als ik de bgpic._width en _height vervang door de exacte waarden, dan werkt dit wel...
Het is wat minder professioneel, maar het werkt!
this.attachMovie("bgpic", "bgpic_mc", this.getNextHighestDepth(), {_x:0, _y:0});
bgpic_mc._height = Stage.height;
bgpic_mc._width = 200*(Stage.height/300);
bedankt voor de hulp.
Grtz Josh
Sushi
%Europe/Berlin %575 %2008, 14:48
bgpic_mc._width += bgpic_mc._width*(Stage.height/bgpic_mc._height);
dit zou moeten werken. Had idd het liggende streepje over het hoofd gezien
Joshua_abdon_sly
%Europe/Berlin %643 %2008, 16:26
bgpic_mc._width += bgpic_mc._width*(Stage.height/bgpic_mc._height);
Als ik deze code gebruik dan, telkens als ik de browser resize, blijft de breedte zich vergroten.
Dus zal er nog een kleine fout inzitten vrees ik.
grtz
Sushi
%Europe/Berlin %651 %2008, 16:37
bgpic_mc._width* moet weg
word dus :
bgpic_mc._width += 200*Stage.height/bgpic_mc._height;
want je wilt de breedte = image breedte * stage hoogte gedeelt door image hoogte?
bgpic_mc._width* met dit erbij doet ie elke keer wat de breedte is keer wat het moet worden, dus vandaar. Als je dan weer resized is de bg groter * nog een keer groter.
200 staat vast in je code maar zodra je bgpic_mc._width gebruikt veranderd hij constant.
kan ook zijn dat je alleen het plusje + moet weg halen. Want die zorgt ervoor dat het erbij moet.
Jan
%Europe/Berlin %655 %2008, 16:43
kan ook zijn dat je alleen het plusje + moet weg halen. Want die zorgt ervoor dat het erbij moet.
Vooral dat...
Je telt altijd maar op bij de vorige waarde...
Groeten,
http://users.telenet.be/jansurf/cwo.png Jan
furrie
%Europe/Berlin %657 %2008, 16:47
moet het ook niet stage._height in plaats van stage.height ?
Jan
%Europe/Berlin %659 %2008, 16:49
moet het ook niet stage._height in plaats van stage.height ?Nee, maar wel met een hoofdletter. :P
Groeten,
http://users.telenet.be/jansurf/cwo.png Jan
Joshua_abdon_sly
%Europe/Berlin %668 %2008, 17:02
Het lijkt erop dat dit niet zo simpel is :D
de code werkt nog steeds niet...
Wat wel werkt is dit gedeelte:
this.attachMovie("bgpic", "bgpic_mc", this.getNextHighestDepth(), {_x:0, _y:0});
bgpic_mc._height = Stage.height;
bgpic_mc._width += 200*Stage.height/bgpic_mc._height;
Maar wanneer ik het verder gebruik in de code (als ik de browser resize) dan lukt dit niet:
stageL.onResize = function() {
cover_mc._y = Stage.height/2;
cover_mc._x = Stage.width/2;
bgpic_mc._height = Stage.height;
bgpic_mc._width += 200*Stage.height/bgpic_mc._height;
};
Ik heb al het + teken weggelaten in het tweede deel, maar dan springt het naar de originele breedte... :(
grtz
Jan
%Europe/Berlin %674 %2008, 17:11
this.attachMovie("bgpic", "bgpic_mc", this.getNextHighestDepth(), {_x:0, _y:0});
bgpic_mc._height = Stage.height;
bgpic_mc._xscale=bgpic_mc._yscale;
stageL.onResize = function() {
cover_mc._y = Stage.height/2;
cover_mc._x = Stage.width/2;
bgpic_mc._height = Stage.height;
bgpic_mc._xscale=bgpic_mc._yscale;
};
of als de aspect ratio niet belangrijk is:
this.attachMovie("bgpic", "bgpic_mc", this.getNextHighestDepth(), {_x:0, _y:0});
bgpic_mc._height = Stage.height;
bgpic_mc._width = Stage.width;
stageL.onResize = function() {
cover_mc._y = Stage.height/2;
cover_mc._x = Stage.width/2;
bgpic_mc._height = Stage.height;
bgpic_mc._width = Stage.width;
};
Groeten,
http://users.telenet.be/jansurf/cwo.png Jan
Joshua_abdon_sly
%Europe/Berlin %677 %2008, 17:15
Het eerste was wat ik zocht!
BEDANKT!
grtz
Josh
furrie
%Europe/Berlin %678 %2008, 17:16
ook al geprobeerd om de gescalede grote van het scherm te nemen en dat te delen door de normale grote en dan de scale van de bgpic_mc daar op te zetten, dus iets als het volgende:
var normalHeight:uint = Stage.height
StageL.onResize = function() {
cover_mc._y = Stage.height/2;
cover_mc._x = Stage.width/2;
bgpic_mc._height = Stage.height;
bgpic_mc._xScale = Stage.height/normalheigth;
};
Joshua_abdon_sly
%Europe/Berlin %681 %2008, 17:22
Maar hier ben ik terug met een vraag, maar nu iets verder gaand in flash...
Ik zou dus hetzelfde willen, maar met een externe afbeelding:p
Nu lukt me dat niet met dezelfde aanpassingen...
this.createEmptyMovieClip("bgleft_mc", this.getNextHighestDepth());
var my_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadComplete = function(target_mc:MovieClip, status:Number):Void {
trace("onLoadComplete: " + target_mc);
bgleft_mc._height = Stage.height;
bgleft_mc._xscale = bgpic_mc._yscale;
};
my_mcl.addListener(mclListener);
my_mcl.loadClip("bgLEFT.jpg", bgleft_mc);
grtz
Sushi
%Europe/Berlin %363 %2008, 09:43
Doet hij het helemaal niet of schaalt hij gwn niet mee?
simmz
%Europe/Berlin %411 %2008, 10:52
ff dan een doorvraagje...
hoe doe ik dit dan;
klik (http://www.prada.com)
De achtergrond is altijd gevuld en wordt niet vervormd...
Dat altijd gevuld lukt me wel maar hoe krijg ik hem zo dat hij niet vervormd?
dis is de code die ik gebruik:
achtergrond._width = Stage.width;
achtergrond._height = Stage.height;
var stageL:Object = new Object();
stageL.onResize = function() {
achtergrond._width = Stage.width;
achtergrond._height = Stage.height;
};
Stage.addListener(stageL);
Thnx!
Jan
%Europe/Berlin %418 %2008, 11:02
Vervang onLoadComplete door onLoadInit.
http://www.flashfocus.nl/forum/showpost.php?p=334635&postcount=6
Groeten,
http://users.telenet.be/jansurf/cwo.png Jan
simmz
%Europe/Berlin %476 %2008, 12:26
check!
ik maak ff een nieuwe.
sorry!
8D
Joshua_abdon_sly
%Europe/Berlin %578 %2008, 14:53
de foto wordt ingeladen over de volledige hoogte, maar de verhoudingen kloppen niet...
dus moet dit gedeelte aangepast worden:
bgleft_mc._xscale = bgpic_mc._yscale;
grtz
Josh
Joshua_abdon_sly
%Europe/Berlin %585 %2008, 15:03
De fout gevonden :p
bgpic_mc vervangen door bgleft_mc
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.