Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2008, 14:53   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
ReferenceError:Error #1069: Eigenschaft 2 für builtin.as$0.Meth-Übergabewert an btn?

Hallo Leute,

ich versuche gerade in AS3 einzutauchen und baue gerade einen kleinen Konfigurator, mit (für mich) einigen Schwierigkeiten.

habe mehrere PNG´s, diese sollen aus XML geladen werden und auf btn - click dann erscheinen.(möbelfront, diverse farben)

Habe aber andauernd diese Fehlermeldung:

ReferenceError: Error #1069: Eigenschaft 2 für builtin.as$0.MethodClosure nicht gefunden und es ist kein Standardwert vorhanden.
at Konfig_fla::MainTimeline/frame1()


Kann mir jemand helfen...?

XML:
Code:
<?xml version"1.0" ?>
<bilder>
<bild id="1">
	<dateiname>fr_weisgrau.png</dateiname>
</bild>
<bild id="2">
	<dateiname> fr_silbermetalic.png</dateiname>
</bild>
<bild id="3">	
	<dateiname>fr_basicgrau.png</dateiname>
</bild>
</bilder>

AS:

Code:
var aktuelle_nummer = 0;

var bildanzeige:MovieClip = new MovieClip ();
this.addChild(bildanzeige);
bildanzeige.name = "bildanzeige_mc";
bildanzeige.x=350;
bildanzeige.y=20;

function bild(event:MouseEvent):void {
	ladeBild(1);
}

    var bilder = [];

	var loader:URLLoader = new URLLoader();
	loader.load(new URLRequest("unreinzoneXML.xml"));
	loader.addEventListener(Event.COMPLETE, parseXML);

	function parseXML(ev) {
        var xml_dokument:XML = new XML(ev.target.data);
		xml_dokument.ignoreWhitespace = true;
		
			
		for (var i:int = 0; i < xml_dokument.bild.length(); i++) {
			trace("Lade Bild mit der ID " + xml_dokument.bild[i].@id);
			
			var bild = new Object();
      		bild.dateiname = xml_dokument.bild[i].dateiname;
			bilder[bilder.length] = bild;
		}
		
		ladeBild(1);
	}
	
	function ladeBild(nr:int) {
		if (nr > 1 && nr <= bilder.length) {
          var loader:Loader = new Loader();
            while (bildanzeige.numChildren > 1) {
            bildanzeige.removeChildAt(1);
		  }
		  bildanzeige.addChild(loader);
		  aktuelle_nummer = nr; 
		}
	};
	
fr_weisgrau_btn.addEventListener(MouseEvent.CLICK, bild);
trace("click");
fr_blaugrau_btn.addEventListener(MouseEvent.CLICK, bild[2]);
fr_apfelgruen_btn.addEventListener(MouseEvent.CLICK, bild[3]);

stop();

Geändert von yougeen (08-11-2008 um 14:54 Uhr)
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 15:26   #2 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
das problem ist das:

bild[2]
bild[3]

beim eventlistener. bild ist ja eine funktion und kein array.
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 15:44   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
wo genau mienst du beim eventListener??


meinst dann funktionieren auch die Buttons??
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 17:09   #4 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
ActionScript:
  1. // die werden nicht funktionieren
  2. fr_blaugrau_btn.addEventListener(MouseEvent.CLICK, bild[2]);
  3. fr_apfelgruen_btn.addEventListener(MouseEvent.CLICK, bild[3]);
bild ist ja die funktion was sollen also die [ ] dahinter?
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 17:18   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
du hast recht!!!

kannst du mir noch nen tipp geben wie ich den btn´s den richtigen wert übergebe das mir auch wirklich mein bild angezeigt wird.

ich kann zwar jetzt zwar clicken und mein trace sagt auch das btn geclickt wurde es ist aber kein bild zu sehen.

wie kann ich den genauen wert aus xml auf den jeweiligen btn übergeben.
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 17:21   #6 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
entweder du gibts dem MC selber eine ID oder du machst es über die namen
oder ähnlichem:

ActionScript:
  1. button0.ID = 0;
  2. button1.ID = 1;
  3. // ...
  4.  
  5. function bild(event: MouseEvent): void
  6. {
  7.     ladeBild(MovieClip(event.target).ID);
  8. }

bzw.

ActionScript:
  1. function bild(event: MouseEvent): void
  2. {
  3.     switch (MovieClip(event.target).name)
  4.     {
  5.         case "button0":
  6.             ladeBild(0);
  7.             break;
  8.  
  9.         // ...
  10.     }
  11. }
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 17:53   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
ich glaube ich bin zu doof für AS3

kannst du mir nochmal helfen???


Code:
var aktuelle_nummer = 0;

var bildanzeige:MovieClip = new MovieClip ();
this.addChild(bildanzeige);
bildanzeige.name = "bildanzeige_mc";
bildanzeige.x=350;
bildanzeige.y=20;

button0.ID = 0;
button1.ID = 1;
button2.ID = 2;
button3.ID = 3;
button4.ID = 4;
button5.ID = 5;



 
    var bilder = [];

	var loader:URLLoader = new URLLoader();
	loader.load(new URLRequest("unreinzoneXML.xml"));
	loader.addEventListener(Event.COMPLETE, parseXML);

	function parseXML(ev) {
        var xml_dokument:XML = new XML(ev.target.data);
		xml_dokument.ignoreWhitespace = true;
		
			
		for (var i:int = 0; i < xml_dokument.bild.length(); i++) {
			trace("Lade Bild mit der ID " + xml_dokument.bild[i].dateiname);
			
			var bild = new Object();
      		bild.dateiname = xml_dokument.bild[i].dateiname;
			bilder[bilder.length] = bild;
		}
		
		ladeBild(1);
	}
	
	function ladeBild(nr:int) {
		if (nr > 1 && nr <= bilder.length) {
          var loader:Loader = new Loader();
            while (bildanzeige.numChildren > 1) {
            bildanzeige.removeChildAt(1);
		  }
		  bildanzeige.addChild(loader);
		  aktuelle_nummer = nr; 
		}
	};
	
function bild(event: MouseEvent): void {
    ladeBild(MovieClip(event.target).ID);
} 
	
function bild(event: MouseEvent): void {
       switch (MovieClip(event.target).name) {
           case "button0":
                 ladeBild(0);
           break;
		   case "button1":
                 ladeBild(1);
           break; 
		   case "button2":
                 ladeBild(2);
           break;
		   case "button3":
                 ladeBild(3);
           break; 
		   case "button4":
                 ladeBild(4);
           break;
		   case "button5":
                ladeBild(5);
           break; 
          }
      } 


	

button0.addEventListener(MouseEvent.CLICK, bild);
button1.addEventListener(MouseEvent.CLICK, bild);
button2.addEventListener(MouseEvent.CLICK, bild);
stop();

funzt einfach nicht...!
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 17:55   #8 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
ja entweder die eine oder die andere variante
Aber 2 mal bild als funktion geht nicht.

Nimm doch einfach die mit dem Switch mal raus.
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 18:02   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
funzt auch nicht!


compilier:
1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft ID über einen Verweis mit statischem Typ flash.display:SimpleButton

1120: Zugriff auf eine nicht definierte Eigenschaft fr_basicgrau_btn0.
1120: Zugriff auf eine nicht definierte Eigenschaft fr_basicgrau_btn1.
1120: Zugriff auf eine nicht definierte Eigenschaft fr_basicgrau_btn2.
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 18:05   #10 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
Ich sprach auch von MCs und nich von SimpleButtons
Die sind nicht dynamic.

Dann machs eben nur mit der Switch-methode.
Dafür musst du den Buttons glaube ich aber zusätzlich auch
namen geben:

ActionScript:
  1. button0.name = "button0";
  2. // ...
  3.  
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 08-11-2008, 18:39   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 11
kann es sein das ich was vergessen hab, was mit den Movieclips zu tun hat?



1120: Zugriff auf eine nicht definierte Eigenschaft button0.name = "button0";
1120: Zugriff auf eine nicht definierte Eigenschaft button1.name = "button1";
1120: Zugriff auf eine nicht definierte Eigenschaft button2.name = "button2";
1120: Zugriff auf eine nicht definierte Eigenschaft button0. button0.addEventListener(MouseEvent.CLICK, bild);
1120: Zugriff auf eine nicht definierte Eigenschaft button1. button1.addEventListener(MouseEvent.CLICK, bild);
1120: Zugriff auf eine nicht definierte Eigenschaft button2. button2.addEventListener(MouseEvent.CLICK, bild);


hab fast schon die weiße "hab-mich-lieb-jacke" an!
yougeen ist offline   Mit Zitat antworten
Alt 08-11-2008, 21:04   #12 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
Ja ich kann dir nicht helfen, wenn du einfach C&P machst

Die Codeschnippsel sind doch meißtens nur Beispielcode.
Du sollst natürlich deinen Buttons die dementsprechenden Namen
geben und diesen dann in der Switch-Abfrage auch nachgucken etc.
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele