Ik zit met een probleem. Ik probeer een interactieve kaart te maken waarin de kaart via een externe swf wordt ingeladen in een container. In de swf van de kaart komen een aantal movieclips met icoontjes waarvan ik via buttons, welke niet in de externe swf staan, de visibility wil veranderen (zodat ze wel/niet te zien zijn).
Nu kom ik er maar niet achter hoe ik de movieclips in de extern ingelade swf aanroep vanuit mijn 'main movie'.
Dit is de code welke ik tot nu toe gebruik:
De loader laad de swf in een variable welke (volgens een tutorial op het i-net) dan weer gebruikt zou kunnen worden om de movieclips in de swf aan te roepen. map is de container waar de kaart in wordt geladen.
Maar wanneer ik nu op mijn button "clickhuis" klik krijg ik de volgende error:
Dit krijg ik overigens ook wanneer ik de loader aanpas dat hij de swf niet in een variable laad maar gewoon direct in de container.
Heeft iemand enig idee hoe dit gedaan kan worden? Alvast bedankt!
Nu kom ik er maar niet achter hoe ik de movieclips in de extern ingelade swf aanroep vanuit mijn 'main movie'.
Dit is de code welke ik tot nu toe gebruik:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| var bleh:Number = .1; var zoom:Number = 1; var scale:Number; //Loader var my_Loader:Loader = new Loader(); var mcExt:MovieClip; my_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoading); my_Loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); my_Loader.load(new URLRequest("route.swf")); function finishLoading(loadEvent:Event) { mcExt = MovieClip(my_Loader.contentLoaderInfo.content); my_Loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, finishLoading); mcExt.x = 0; mcExt.y = 0; map.addChild(mcExt); } function errorHandler(errorEvent:Event):void { trace("file missing"); } //Dragfunctie map.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) function mouseDown(event:MouseEvent):void { map.startDrag(); } map.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); function mouseReleased(event:MouseEvent):void { map.stopDrag(); } //Zoomfunctie stage.addEventListener(MouseEvent.MOUSE_WHEEL,WH,false,0,true); function WH(e:MouseEvent):void { scale = (map.scaleX + e.delta * bleh); if (e.delta >= 2 && zoom <=25){ zoom++ } if (e.delta <= 1 && zoom >=1){ zoom--; } if (scale >= 1 && scale <= 8.2){ map.scaleX = scale; map.scaleY = scale; } if (scale <= 1){ scale = 1; } if (scale >= 8.2){ scale = 8.2; } } btn_huis.addEventListener(MouseEvent.CLICK, clickhuis); function clickhuis(evt:MouseEvent):void { mcExt.icoontjes.visible = false; } |
De loader laad de swf in een variable welke (volgens een tutorial op het i-net) dan weer gebruikt zou kunnen worden om de movieclips in de swf aan te roepen. map is de container waar de kaart in wordt geladen.
Maar wanneer ik nu op mijn button "clickhuis" klik krijg ik de volgende error:
code:
1
2
| ReferenceError: Error #1069: Property icoontjes not found on route_fla.MainTimeline__Preloader__ and there is no default value. at kaart1_fla::MainTimeline/clickhuis() |
Dit krijg ik overigens ook wanneer ik de loader aanpas dat hij de swf niet in een variable laad maar gewoon direct in de container.
Heeft iemand enig idee hoe dit gedaan kan worden? Alvast bedankt!