Flashhilfe.de - Flash Community

Button Verlinkung = TypeError: Error #1009: [Flash 10]

 


AntwortenRegistrieren Seite1  

websnake75#1
Benutzerbild von websnake75
Beiträge: 22
Registriert: Oct 2009

05.07.2011, 20:18

Hallo,

mein folgender Code zum Verlinken funktioniert zwar, aber leider bekomme ich im Ausgabefenster beim Klick z.B. auf Button1 folgenden Fehler

"TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
   at Frost_fla::MainTimeline/btn1out()"

Ich bekomme nun leider nicht raus was falsch ist.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
stop();
import flash.events.MouseEvent;

btn1.addEventListener(MouseEvent.CLICK, btn1click);
btn1.addEventListener(MouseEvent.MOUSE_OVER, btn1over);
btn1.addEventListener(MouseEvent.MOUSE_OUT, btn1out);
btn2.addEventListener(MouseEvent.CLICK, btn2click);
btn2.addEventListener(MouseEvent.MOUSE_OVER, btn2over);
btn2.addEventListener(MouseEvent.MOUSE_OUT, btn2out);
btn3.addEventListener(MouseEvent.CLICK, btn3click);
btn3.addEventListener(MouseEvent.MOUSE_OVER, btn3over);
btn3.addEventListener(MouseEvent.MOUSE_OUT, btn3out);
btn4.addEventListener(MouseEvent.CLICK, btn4click);
btn4.addEventListener(MouseEvent.MOUSE_OVER, btn4over);
btn4.addEventListener(MouseEvent.MOUSE_OUT, btn4out);

/*Ausführung auf btn1*/
function btn1click(event:MouseEvent):void{
     gotoAndStop(2)
}

function btn1over(event:MouseEvent):void{
     MovieClip(button1).gotoAndPlay(2)
}

function btn1out(event:MouseEvent):void{
     MovieClip(button1).gotoAndPlay(11)
}

/*Ausführung auf btn2*/
function btn2click(event:MouseEvent):void{
     gotoAndStop(3)
}

function btn2over(event:MouseEvent):void{
     MovieClip(button2).gotoAndPlay(2)
}

function btn2out(event:MouseEvent):void{
     MovieClip(button2).gotoAndPlay(11)
}

/*Ausführung auf btn3*/
function btn3click(event:MouseEvent):void{
     gotoAndStop(4)
}

function btn3over(event:MouseEvent):void{
     MovieClip(button3).gotoAndPlay(2)
}

function btn3out(event:MouseEvent):void{
     MovieClip(button3).gotoAndPlay(11)
}
/*Ausführung auf btn4*/
function btn4click(event:MouseEvent):void{
     gotoAndStop(5)
}

function btn4over(event:MouseEvent):void{
     MovieClip(button4).gotoAndPlay(2)
}

function btn4out(event:MouseEvent):void{
     MovieClip(button4).gotoAndPlay(11)
}


Kann mir da jemand helfen?
Schlagwörter: button
ashitaka#2
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

06.07.2011, 09:32

Warum heissen die buttons einmal "btn1" und dann "button1" ?

schwer nachzuvollziehen wenn man nicht weiss was das überhaupt für symbole sind.
mit der .fla wärs einfacher.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
websnake75#3
Benutzerbild von websnake75
Beiträge: 22
Registriert: Oct 2009

Themenautor/in

06.07.2011, 13:19

Oh ja sorry, ich war eigentlich der Meinung ich hatte die Datei hochgeladen. Mache ich gleich wenn ich zu Hause bin.

Als Erläuterung schon mal. Ich habe eine Ebene Button dort liegen die vier MovieClips Button1, Button2, Button3 und Button4. (Bei Rollover ändern diese Buttons dann ihre Farbe)

Darüber dann eine Ebene mit Schaltflächen btn1, btn2, btn3 und btn4. (Beim Draufklicken werden dann die 4 Inhaltsseiten eingeblendet)

Der Fehler tritt auf seit dem ich die Instanznamen Button1, Button2 usw. vergeben habe.

Die Button1, Button2 usw. sind alles Instanzen des MovieClips "Button" aus der Bibliothek. 

Gruß

Ronald

Jetzt mit Fla-Datei.

Angehängte Dateien:
Adobe Flash Quelldatei Frost-test2.fla101.34 KB
Geändert von websnake75 am 06.07.11 um 18:15 Uhr
ashitaka#4
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

06.07.2011, 19:41

wenn man auf einen button clickt,
wird im hauptframe das Bild gewechselt.
Dadurch verschwindet der Button.
Dadurch wird ein MOUSE_OUT ausgelöst.

in z.b. btn1out() wird dann versucht auf den button zuzugreifen, was aber nicht geht, weil er nicht mehr auf der bühne ist :)

Du kannst das z.b so verhindern:

ActionScript:
1
2
3
function btn1out(event:MouseEvent):void{
     if(MovieClip(button1)) MovieClip(button1).gotoAndPlay(11)
}
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
websnake75#5
Benutzerbild von websnake75
Beiträge: 22
Registriert: Oct 2009

Themenautor/in

06.07.2011, 19:51

Hab vielen Dank, hast Du mir auch super erklärt.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de