Sziasztok!
Nagy szükségem lenne egy gyors segitségre. Most kezdek el igazán actionscript-tel foglalkozni, többnyire könyvekből, videotutorialokból képzem magam. Egész jól megy. Jobban mondva ment, egészen eddig :P.
Épp egy flash site-ot készitek, tisztán próba miatt, hogy ellenőrizzem magam, és új dolgokat találjak, amiket még jó lenne megtanulni.
A lényeg a következő.
A site különböző oldalait egy-egy mc-ben tárolom, tehát AS3-al akarnám őket a stage-re helyezni. A főoldal elhelyezésével nem is volt gond, az eltüntetésével sem, viszont mikor az új oldalt behivnám, akkor kapok egy hibát. Ez lenne az:
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChild()
at site_fla::MainTimeline/newPage()
Egyébként a belső oldalak mind tökéletesen működnek. Error üzenetet nem is kapok, csak ezt az output hibát. Több fórumot elolvastam már, több dolgot ki is próbáltam, de eddig még nem segitett semmi. Remélem ti tudtok segiten. Nagyon hálás lennék érte.
A teljes kód, ahol a hiba van:
stop();
var currentPage:MovieClip = fooldal_mc;
var fooldalPage:pageFooldal = new pageFooldal();
var biografiaPage:pageBiografia = new pageBiografia();
var szolgaltatasPage:pageSzolgaltatas = new pageSzolgaltatas();
var referenciaPage:pageReferencia = new pageReferencia();
var kapcsolatPage:pageKapcsolat = new pageKapcsolat();
var joginyilatkozatPage:pageJoginyilatkozat = new pageJoginyilatkozat();
fooldal_mc.targetMC = fooldalPage;
biografia_mc.tagertMC = biografiaPage;
szolgaltatas_mc.targetMC = szolgaltatasPage;
referencia_mc.targetMC = referenciaPage;
kapcsolat_mc.targetMC = referenciaPage;
joginyilatkozat_mc.targetMC = joginyilatkozatPage;
fooldalPage.x = biografiaPage.x = szolgaltatasPage.x = referenciaPage.x = kapcsolatPage.x = joginyilatkozatPage.x = 20;
fooldalPage.y = biografiaPage.y = szolgaltatasPage.y = referenciaPage.y = kapcsolatPage.y = joginyilatkozatPage.y = 231;
addChild(fooldalPage);
fooldal_mc.buttonMode = true;
biografia_mc.buttonMode = true;
szolgaltatas_mc.buttonMode = true;
referencia_mc.buttonMode = true;
kapcsolat_mc.buttonMode = true;
joginyilatkozat_mc.buttonMode = true;
fullscreen_mc.buttonMode = true;
soundcontrol_mc.buttonMode = true;
fooldal_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
biografia_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
szolgaltatas_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
referencia_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
kapcsolat_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
joginyilatkozat_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
fullscreen_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
soundcontrol_mc.addEventListener(MouseEvent.ROLL_OVER, buttonOver);
fooldal_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
biografia_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
szolgaltatas_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
referencia_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
kapcsolat_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
joginyilatkozat_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
fullscreen_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
soundcontrol_mc.addEventListener(MouseEvent.ROLL_OUT, buttonOut);
function buttonOver(e:MouseEvent):void
{
e.currentTarget.gotoAndPlay("over");
}
function buttonOut(e:MouseEvent):void
{
e.currentTarget.gotoAndPlay("out");
}
fooldal_mc.addEventListener(MouseEvent.CLICK, newPage);
biografia_mc.addEventListener(MouseEvent.CLICK, newPage);
szolgaltatas_mc.addEventListener(MouseEvent.CLICK, newPage);
referencia_mc.addEventListener(MouseEvent.CLICK, newPage);
kapcsolat_mc.addEventListener(MouseEvent.CLICK, newPage);
joginyilatkozat_mc.addEventListener(MouseEvent.CLICK, newPage);
function newPage(e:MouseEvent):void
{
removeChild(currentPage.targetMC);
currentPage = MovieClip(e.currentTarget);
addChild(currentPage.targetMC);
currentPage.targetMC.gotoAndPlay(1);
}
Elképzelhető hogy "ronda" maga a programozás és lehetne szebb is, de mint mondtam ez az első komolyabb próbálkozásom. Egyébként minden kioktatást szivesen veszek :).
Köszönöm előre is a segitséget.