Ich lade eine Reihe von Miniaturbildern aus einem Array [fest codiert] in ein MovieClip-Symbol auf der Bühne. Ich habe zwei Arrays mit dem Thumbnail und das Vollbild mit der gleichen Indexnummer. In vielen Beispielen gibt "event.currentTarget.contentLoaderInfo.url" den vollständigen Pfad zum ausgewählten Bild zurück. Ich will nur die Indexnummer.ActionScript 3.0 Abrufen des Index [CLICK-Ereignis] eines geladenen Films Clip-Image
Adobe macht es nicht leicht herauszufinden, welche anderen Eigenschaften mir aus der contentLoaderInfo zur Verfügung stehen. Ist 'SelectedIndex' oder etwas ähnliches verfügbar?
Wo findet ein inspirierender AS-Programmierer die contentLoaderInfo-Eigenschaften und/oder -Methoden? Ist URL das Einzige, was wir hier benutzen können?
Gibt es einen besseren Ansatz?
Vielen Dank im Voraus.
bearbeiten:
var thumbnails:Array = ["tn_2010OpenHouse_00.jpg","tn_2010OpenHouse_01.jpg"];
var images:Array = ["2010OpenHouse_00.jpg","2010OpenHouse_01.jpg"];
var thumbX:Number = 10;
var thumbY:Number = 623;
var loader:Loader = new Loader();
loader.load(new URLRequest("images/" + images[0]));
addChild(loader);
loadThumbs();
function loadThumbs():void
{
var thumbLoader:Loader;
var container:Sprite = new Sprite();
container.width = 100;
addChild(container);
container.buttonMode = true;
for (var i:uint = 0; i < thumbnails.length; i++)
{
thumbLoader = new Loader();
thumbLoader.load(new URLRequest("images/" + thumbnails[i]));
thumbLoader.x = thumbX;
thumbLoader.y = thumbY;
thumbX += 100;
container.addChild(thumbLoader);
thumbLoader.addEventListener(MouseEvent.CLICK, thumbClicked);
container.width += 100;
addChild(thumbLoader);
}
stop();
}
function thumbClicked(ev:MouseEvent):void
{
//weltraumpirat's example
var index:int = thumbnails.indexOf (ev.target.contentLoaderInfo.url);
trace("Index= "+ index);
//trying a different approach as well
index = thumbnails.indexOf (ev.currentTarget.contentLoaderInfo.url);
trace("Index= "+ index);
loader.load(new URLRequest("images/" + images[index]));
}
Ausgang: Index = -1 Index = -1 Error # 2044: Unbehandelte IOErrorEvent :. text = Fehler # 2035: URL nicht gefunden.
Mal sehen, in meiner Frage, ich über den „content“ bin gefragt und welche andere Eigenschaften [Methoden] zur Verfügung neben ‚url und wo ich diese Informationen finden kann. [Adobe 'intellisense' ist nur ein wenig nützlich und wird nur angezeigt, wenn es will]. Soll ich 'contentLoaderInfo' = LoaderInfo? Ich denke, ich sollte annehmen, dass 'contentLoaderInfo' nur eine Eigenschaft 'URL' hat. –
Verbatim von Adobe: Die 'contentLoaderInfo'-Eigenschaft ist immer für jedes 'Loader'-Objekt verfügbar. Für ein 'Loader'-Objekt, das die Methode' load() 'oder' loadBytes() 'nicht aufgerufen hat oder nicht ausreichend geladen wurde, wird beim Versuch, auf viele Eigenschaften der 'contentLoaderInfo'-Eigenschaft zuzugreifen, ein Fehler ausgegeben. Die 'contentLoaderInfo'-Eigenschaft eines' Loader'-Objekts stellt Informationen über den Inhalt bereit, den das 'Loader'-Objekt lädt, während die' loaderInfo'-Eigenschaft eines 'DisplayObject' Informationen über die Root-SWF-Datei für dieses Anzeigeobjekt bereitstellt. –
Kurz gesagt, 'stage.loaderInfo' und' loader.contentLoaderInfo' verwenden beide das 'LoaderInfo'-Objekt (was die gleichen Eigenschaften bedeutet), stellen aber unterschiedliche Werte bereit. –