PDA

Volledige versie bekijken : Externe afbeelding als link


kanduvisla
%Europe/Berlin %398 %2008, 10:33
Hallo,

Ik ben bezig met een klein projectje waarbij een externe afbeelding wordt geladen en op de stage wordt geplaatst. Tot zover lukt het nog. De afbeelding wordt geladen en verschijnt op het scherm. Nu wil ik alleen dat ik op deze afbeelding kan klikken op naar een bepaalde URL te gaan. Ik heb hiervoor een MouseEvent.CLICK toegevoegd, maar deze wordt niet uitgevoerd als ik op de clip klik. Kan iemand mij vertellen wat ik fout doe?

Zie onderstaande code:

package {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*;

internal class logo extends MovieClip {
private var clip:DisplayObject;
private var loader:Loader;
private var target:DisplayObjectContainer;
private var clipx:int;
private var clipy:int;
private var clipURL:String;

// Constructor:
public function logo(target:DisplayObjectContainer, x:Number, y:Number, image:String, url:String) {
this.target = target;
clipx = x;
clipy = y;
clipURL = url;
// Loader aanmaken (voor het laden van de externe afbeeldingen:
loader = new Loader();
// event listener toevoegen:
loader.contentLoaderInfo.addEventListener(Event.IN IT, initListener);
// URL Request aanmaken en content laden:
var urlRequest:URLRequest = new URLRequest('../' + image);
loader.load(urlRequest);
this.buttonMode = true;
}

// Initialisatie:
private function initListener(e:Event):void {
// Clip plaatsen:
clip = loader.content;
clip.x = clipx;
clip.y = clipy;
clip.addEventListener(MouseEvent.CLICK, openURL);
// Clip toevoegen aan de stage:
target.addChild(clip);
}

// Klikfunctie:
private function openURL():void {
// trace(clipURL);
trace('hoi');
}
}
}

B-Mantis
%Europe/Berlin %481 %2008, 12:32
geeft de flash player geen error dan? Je moet namelijk een parameter in de openURL functie hebben.


private function openURL(e:MouseEvent):void {
// trace(clipURL);
trace('hoi');
}

kanduvisla
%Europe/Berlin %523 %2008, 13:34
Hoi,

Ik had het inmiddels al opgelost. Er zaten meerdere fouten in, het MouseEvent was er één van. Wat nu uiteindelijk bleek: Ik moest de event listener op de loader zetten, en de loader toevoegen aan het target.