Via AS3 haal ik een (extern) SWF bestand op. Dit werkt allemaal en als ik deze mbv addChild in een (nieuwe) MovieClip plaats, dan wordt deze ook getoond. Maar het gaat mis als ik dezelfde SWF bestand in twee verschillende MovieClips wil plaatsen. Hij pakt dan alleen de laatste. Ik heb in mijn stage 2 instances (logo en logo_big) staan. Via AS3 maak ik een MovieClip aan waarin de externe SWF bestand wordt geplaatst.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| var logoLoader = new Loader(); var logoWrapperSmall:MovieClip = new MovieClip(); var logoWrapperBig:MovieClip = new MovieClip(); function loadLogo(url) { // url is een dynamische var logoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,logoLoaderSuccess); logoLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,logoLoaderErrorMethod); logoLoader.load(new URLRequest(url)); } function logoLoaderSuccess(evt:Event):void { var image = logoLoader.content; logoWrapperSmall.addChild(image); logoWrapperBig.addChild(image); setSmallLogo(evt); setBigLogo(evt); } function setSmallLogo(evt:Event):void { logoWrapperSmall = scaleToFit(logoWrapperSmall, 180, 100, true); logo.addChild(logoWrapperSmall); } function setBigLogo(evt:Event):void { logoWrapperBig = scaleToFit(logoWrapperBig, 300, 250, true); logo_big.addChild(logoWrapperBig); } function scaleToFit(mc:MovieClip, maxW:int, maxH:int, constrain:Boolean):MovieClip{ maxH = maxH == 0 ? maxW : maxH; mc.width = maxW; mc.height = maxH; if (constrain) { mc.scaleX < mc.scaleY ? mc.scaleY = mc.scaleX : mc.scaleX = mc.scaleY; } return mc; } |
You cannot not communicate