• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

AS3: als Variablen definierte Buttons funktionieren nicht...

Shebsl

Schöner von Nordhausen
Registriert
12.11.05
Beiträge
321
Hallo,

ich hätte gerne, dass beim Klick auf einen Menüpunkt meiner Seite ein MC_beliebig1 an der y-achse aus einer Maske heraus in den Bereich der Stage getweent wird und beim Klick auf einen beliebigen anderen Menüpunkt der MC_beliebig1 wieder heraustweent und ein MC_beliebig2 reingetweent wird.
(hier ein verdeutlichendes Beispiel: http://www.blackmail.de/v3.0/index.html)

Das bisherige Skript sieht folgendermassen aus:

ActionScript 3:

import fl.transitions.Tween;
import fl.transitions.easing.*;

/*----- position der linkflächen -----*/

hotspots.x = 780;
hotspots.y = 170;

/*------------------------------------*/

/*----- position des (grafischen) Buttons_mc -----*/

menu.x = 740;
menu.y = 154;

/*------------------------------------*/

/*----- anfangsposition der auf ButtonClick zu animierenden Elemente -----*/

about_cont.y = 780;
websites_cont.y = 780;

/*------------------------------------*/

/*----- verlinkung der Buttons -----*/

hotspots.hit_about.buttonMode = true;
hotspots.hit_about.addEventListener(MouseEvent.ROLL_OVER, buttonOverAbout);
hotspots.hit_about.addEventListener(MouseEvent.ROLL_OUT, buttonOutAbout);
hotspots.hit_about.addEventListener(MouseEvent.CLICK, Click);

hotspots.hit_websites.buttonMode = true;
hotspots.hit_websites.addEventListener(MouseEvent.ROLL_OVER, buttonOverWeb);
hotspots.hit_websites.addEventListener(MouseEvent.ROLL_OUT, buttonOutWeb);
hotspots.hit_websites.addEventListener(MouseEvent.CLICK, Click);

function buttonOverAbout(e:MouseEvent):void
{
menu.about.gotoAndPlay("over");
}

function buttonOutAbout(e:MouseEvent):void
{
menu.about.gotoAndPlay("out");
}

function buttonOverWeb(e:MouseEvent):void
{
menu.websites.gotoAndPlay("over");
}

function buttonOutWeb(e:MouseEvent):void
{
menu.websites.gotoAndPlay("out");
}

/*------------------------------------*/


var about:about_cont = new about_cont();
var websites:webites_cont = new websites_cont();

hotspots.hit_about.mcTarget = about;
hotspots.hit_websites.mcTarget = websites;

var currentPage:MovieClip;
var nextPage:MovieClip;


function Click(e:MouseEvent):void
{
nextPage = e.currentTarget.mcTarget;
var currentPageOff:Tween= new Tween(currentPage, "y", Strong.easeInOut, 270, 715, 2, true);
currentPageOff.addEventListener(TweenEvent.MOTION_FINISH, nextPageIn);
}

function nextPageIn(e:MouseEvent):void
{
currentPage = nextPage;
var nextPageIn:Tween= new Tween(nextPage, "y", Strong.easeOut, 715, 270, 2, true);
}





Also: beim Klick auf "about" soll der MC "about_cont" (anfangs durch AS auf einen nicht sichtbare Bereich jenseits der Stage positioniert) eingetweent werden.
Beim Klick auf "websites" soll "websites_cont" eingetweent, und "about_cont" ausgetweent werden.

Leider enthält obiges Skript zig Fehlermeldungen:

Die Fehlermeldungen:
1046: Typ wurde nicht gefunden oder war keine Kompilierungszeit-Konstante: about_cont.
1046: Typ wurde nicht gefunden oder war keine Kompilierungszeit-Konstante: webites_cont.

1120: Zugriff auf eine nicht definierte Eigenschaft TweenEvent.

1180: Aufruf einer möglicherweise undefinierten Methode about_cont.

1180: Aufruf einer möglicherweise undefinierten Methode websites_cont.


Wie krieg ich das gelöst?

P.S.: Falls ihr die gesamte fla benötigt, schreibt mir ne PM, dann schick ich sie euch.