Hey alle
Er igang med at lave en flash hjemmeside, cs3 / as3
Jeg har lavet en drop downmenu i et movieclip (MenuSamlet)
der nogle forskellige animationer for at menuen bevæger sig op og ned osv.
i movieclippet har jeg min actionscript for menuen, og knapperne kalder ud til stage'ns (main) frame labels for at navigere rundt på siden...
actions inde i menuen:
food_btn.buttonMode = true;
food_btn_back.buttonMode = true;
kunder_btn.buttonMode = true;
maga_btn.buttonMode = true;
koge_btn.buttonMode = true;
cat_btn.buttonMode = true;
cat_btn_back.buttonMode = true;
menu_btn.buttonMode = true;
buf_btn.buttonMode = true;
vege_btn.buttonMode = true;
rece_btn.buttonMode = true;
brunch_btn.buttonMode = true;
vin_btn.buttonMode = true;
div_btn.buttonMode = true;
kok_btn.buttonMode = true;
kon_btn.buttonMode = true;
// Knap Funktion for Foodstyling
function FoodClick(event:MouseEvent):void {
gotoAndPlay("frem1");
}
function FoodClickBack(event:MouseEvent):void {
gotoAndPlay("tilbage1");
}
// Knap Funktion for Catering
function CatClick(event:MouseEvent):void {
gotoAndPlay("frem2");
}
function CatClickBack(event:MouseEvent):void {
gotoAndPlay("tilbage2");
}
//undermenuer Foodstyling
function kunderclick(event:MouseEvent):void {
MovieClip(root).gotoAndPlay("Kunder");
}
function magaclick(event:MouseEvent):void {
MovieClip(root).gotoAndPlay("magasiner");
}
function kogeclick(event:MouseEvent):void {
MovieClip(root).gotoAndPlay("Kogebøger");
}
//undermenuer Catering
function menuclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("menu");
}
function bufclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("buffet");
}
function vegeclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("vegetar");
}
function receclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("reception");
}
function brunchclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("brunch");
}
function vinclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("vinen");
}
function divclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("div");
}
//kokken
function kokclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("kokken");
}
//kontakt
function konclick(event:MouseEvent):void {
MovieClip(root).gotoAndStop("kontakt");
}
//knapper realiseres
food_btn.addEventListener(MouseEvent.CLICK, FoodClick);
food_btn_back.addEventListener(MouseEvent.CLICK, FoodClickBack);
cat_btn.addEventListener(MouseEvent.CLICK, CatClick);
cat_btn_back.addEventListener(MouseEvent.CLICK, CatClickBack);
kunder_btn.addEventListener(MouseEvent.CLICK, kunderclick);
maga_btn.addEventListener(MouseEvent.CLICK, magaclick);
koge_btn.addEventListener(MouseEvent.CLICK, kogeclick);
menu_btn.addEventListener(MouseEvent.CLICK,menuclick);
buf_btn.addEventListener(MouseEvent.CLICK, bufclick);
vege_btn.addEventListener(MouseEvent.CLICK, vegeclick);
rece_btn.addEventListener(MouseEvent.CLICK, receclick);
brunch_btn.addEventListener(MouseEvent.CLICK, brunchclick);
vin_btn.addEventListener(MouseEvent.CLICK, vinclick);
div_btn.addEventListener(MouseEvent.CLICK, divclick);
kok_btn.addEventListener(MouseEvent.CLICK, kokclick);
kon_btn.addEventListener(MouseEvent.CLICK, konclick);
jeg har så trukket movieclippet (MenuSamlet) ud på min stage som jeg har kaldt (main), fra library
og når jeg så tester den siger den:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at hermannflash_fla::MenuSamlet_2/frame1()[hermannflash_fla.MenuSamlet_2::frame1:3]
min .fla og .swf fil hedder hermannflash
har virkelig ledt overalt efter en løsning, jeg tror jeg skal på en eller anden måde have loadet menuen ude på stagen eller instance navnene, men er på anden dagen nu med at undersøge hvad jeg skal gøre, og nu bliver jeg snart nød til at få lidt hjælp
10 kommentarer
ligger alle dine knapper i samme frame som din kode?
Hvis du i "Publish settings" slår "Permit debugging" til, så fortæller Flash dig på præcis hvilken linie at fejlen opstår.
/Mads
www.omflash.dk || www.semor.dk
@ciaodu
altså mit script layer fylder hele timelinen, der forskellige knapper til forskellige frames og nej ikke alle sammen er vist på samme tid
@madster
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at hermannflash_fla::MenuSamlet_2/frame1()[hermannflash_fla.MenuSamlet_2::frame1:3]
så er det der hvor du har problemet... du kan kun tilføje et event til et objekt hvis det er på stagen...
du kan derfor ikke addEventListener til et objekt der ikke er vist..
for at komme uden om dette problem kan du jo bare sige at de skal være ligesom denne:::
menu_btn.visible = false;
ehm kan du uddybe lidt mere.
jeg skal fjerne alt det der har noget med addEventListener og istedet skrevet XYZ_btn.visible = false; for alle sammen?
og selv om jeg har sat debugger til, kan jeg ikke rigtig få analyseret og lokaliseret fejlen: hvordan forstås:
at hermannflash_fla::MenuSamlet_2/frame1()[hermannflash_fla.MenuSamlet_2::frame1:3]
Det er lidt svært at svare på når jeg ikke kan se din .fla...
har du mulighed for at uploade den så jeg kan se den et sted?
men problemet opstår fordi du prøver at henvise til et objekt der ikke findes...
http://spiegelberg.dk/hermannflash.fla
håber du får tid til at se på det
dit problem er at du laver en knap om til et andet navn... jeg har lavet nogle dumps af dit problem::


så hvis du fjerner disse to fra din kode, virker den::
food_btn_back.addEventListener(MouseEvent.CLICK, FoodClickBack);
cat_btn_back.addEventListener(MouseEvent.CLICK, CatClickBack);
yeah! fik det til at virke, men kun så den animation hvor knappen folder sig ud bliver animeret.
nu vil jeg gerne, gøre således at uanset hvilken knap af de 4 jeg trykker på, så animere den pågældende udfoldede knap ind igen, også springer videre til den næste side..
tror du at du kan give nogle hints eller en kode til hvorledes jeg får det til at fungere?