Autor | Zpráva | ||
---|---|---|---|
vektor Profil * |
#1 · Zasláno: 24. 2. 2010, 10:49:56
Ahoj, chci načíst do movieclipu externí swf soubor a ten zmenšit podle nejdelší strany movieclipu, ale mám problém:
import flash.events.*; import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.net.URLRequest; var scaling:Number=0; var sirka:Number=obrazek.width; var vyska:Number=obrazek.height; var loader:Loader = new Loader(); function nactiSWF(tg:MovieClip,src:String) { loader.contentLoaderInfo.addEventListener(Event.COMPLETE, dokonceno); loader.contentLoaderInfo.addEventListener(Event.OPEN, zapocato); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, chyba); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, stav); var request:URLRequest = new URLRequest(src); loader.load(request); loader.name = "soubor"; // loader.height = vyska; tg.addChild(loader); } function chyba(e:IOErrorEvent):void { trace("chyba nacitani"); } function zapocato(e:Event):void { trace("start nacitani"); } function stav(e:ProgressEvent):void { trace("stav nacitani: nacteno: " + e.bytesLoaded + " z celkem: " + e.bytesTotal); } function startLoad(evt:Event):void { if(obrazek.getChildByName("soubor")){ obrazek.removeChild(obrazek.getChildByName("soubor")); }; nactiSWF(obrazek,"tricko.swf"); } function dokonceno(e:Event):void { trace("nacteno"); if(sirka>vyska){ scaling=vyska/obrazek.getChildByName("soubor").height; } else { scaling=sirka/obrazek.getChildByName("soubor").width; }; trace(scaling); obrazek.getChildByName("soubor").width=obrazek.getChildByName("soubor").width*scaling; obrazek.getChildByName("soubor").height=obrazek.getChildByName("soubor").height*scaling; obrazek.getChildByName("soubor").x=0; obrazek.getChildByName("soubor").y=0; } function barva(evt:Event){ // } btn.addEventListener(MouseEvent.CLICK,startLoad); buti.addEventListener(MouseEvent.CLICK,barva); Tohle funguje. Dobře. Ale dejme tomu že bych chtěl obrázek zmenšit o trochu víc, abych ho následně v movie clipu vycentroval na výšku i šířku. import flash.events.*; import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.net.URLRequest; var scaling:Number=0; var sirka:Number=obrazek.width; var vyska:Number=obrazek.height; var loader:Loader = new Loader(); function nactiSWF(tg:MovieClip,src:String) { loader.contentLoaderInfo.addEventListener(Event.COMPLETE, dokonceno); loader.contentLoaderInfo.addEventListener(Event.OPEN, zapocato); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, chyba); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, stav); var request:URLRequest = new URLRequest(src); loader.load(request); loader.name = "soubor"; // loader.height = vyska; tg.addChild(loader); } function chyba(e:IOErrorEvent):void { trace("chyba nacitani"); } function zapocato(e:Event):void { trace("start nacitani"); } function stav(e:ProgressEvent):void { trace("stav nacitani: nacteno: " + e.bytesLoaded + " z celkem: " + e.bytesTotal); } function startLoad(evt:Event):void { if(obrazek.getChildByName("soubor")){ obrazek.removeChild(obrazek.getChildByName("soubor")); }; nactiSWF(obrazek,"tricko.swf"); } function dokonceno(e:Event):void { trace("nacteno"); if(sirka>vyska){ scaling=vyska/obrazek.getChildByName("soubor").height; } else { scaling=sirka/obrazek.getChildByName("soubor").width; }; trace(scaling); scaling = scaling-0.4; obrazek.getChildByName("soubor").width=obrazek.getChildByName("soubor").width*scaling; obrazek.getChildByName("soubor").height=obrazek.getChildByName("soubor").height*scaling; obrazek.getChildByName("soubor").x=0; obrazek.getChildByName("soubor").y=0; } function barva(evt:Event){ // } btn.addEventListener(MouseEvent.CLICK,startLoad); buti.addEventListener(MouseEvent.CLICK,barva); Přidal sem řádek scaling = scaling-0.4; ale při každém kliku na button je obrázek vždy jinak velký :( start nacitani stav nacitani: nacteno: 0 z celkem: 948 stav nacitani: nacteno: 948 z celkem: 948 nacteno 0.48658731568662295 start nacitani stav nacitani: nacteno: 0 z celkem: 948 stav nacitani: nacteno: 948 z celkem: 948 nacteno 5.618461538461539 start nacitani stav nacitani: nacteno: 0 z celkem: 948 stav nacitani: nacteno: 948 z celkem: 948 nacteno 1.0766509433962266 start nacitani stav nacitani: nacteno: 0 z celkem: 948 stav nacitani: nacteno: 948 z celkem: 948 nacteno 1.5910543130990418 start nacitani stav nacitani: nacteno: 0 z celkem: 948 stav nacitani: nacteno: 948 z celkem: 948 nacteno 1.335771762984638 Pokud tam ten řádek není funguje to skvěle... Poraďte, prosím. |
||
Časová prodleva: 14 let
|
0