Falsches Verständnis von if?

HarlekinAlpha

Grünschnabel
Huhu Jungs ich habe noch einmal eine Frage. Ich denke ich verwechsle da etwas aber mir ergibt sich auch keine Lösung.

Ich habe einen Button der hat folgenden Code:

Code:
on(release) {

       if ((eingabe >=82)&&(eingabe <=83)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	this.ausgabe="Wert1";
	}
	if ((eingabe >=84)&&(eingabe <=85)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	this.ausgabe="Wert2";
	}
}

Nunja u.s.w.

Jetzt ergibt sich aber folgendes Problem, egal welchen Wert ich in den Eingabefeldern eintrage, es kommt immer "Wert 2" raus. Aber eigentlich sollte ja ein Wert von z.B. 83/69 auf Wert 1 verweisen.

Weiß jemand wo das Problem liegt?

Apro in Java Script klappt alles, bin gerade von Java Script auf Flash umgestiegen.
 
egal welchen Wert ich in den Eingabefeldern eintrage, es kommt immer "Wert 2" raus. Aber eigentlich sollte ja ein Wert von z.B. 83/69 auf Wert 1 verweisen.


Bei mir wird 'Wert1' getraced

Code:
eingabe = 83;
eingabe1 = 69;

btn.onRelease = function() {
	if ((eingabe>=82) && (eingabe<=83) && (eingabe1>=68) && (eingabe1<=72)) {
		trace("Wert1");
	}
	if ((eingabe>=84) && (eingabe<=85) && (eingabe1>=68) && (eingabe1<=72)) {
		trace("Wert2");
	}
};
// Wert1
 
Dank dir jetzt weiß ich auch wo das Problem liegt.
Ich kriege die Werte aus den Eingabefeldern nicht in die Variablen "eingabe" und "eingabe1" rein. Sprich die Werte sind leer. Ich hatte zum testen am Anfang Startwerte und die behält er auch, deshalb immer das gleiche Ergebnis.

Kannst du mir noch kurz sagen wie man den die Daten der Eingabefelder beim Klick in die Variablen lädt damit der Vergleich überhaupt stattfinden kann?

Noch eine Frage hätte ich, du schreibst völlig anders als ich, trace anstatt this. und nutzt btn.onRelease() u.s.w. ist das dann Action Script 3.0 oder mache ich was falsch?
 
Kannst du mir noch kurz sagen wie man den die Daten der Eingabefelder beim Klick in die Variablen lädt damit der Vergleich überhaupt stattfinden kann?

Den Eintrag im Textfeld erhälst du so:
PHP:
var ergebnis:Number = parseInt(myTf.text, 10);
wobei myTf der Instanzname deines Textfeldes ist und parseInt den String in Number umwandelt.

Noch eine Frage hätte ich, du schreibst völlig anders als ich, trace anstatt this. und nutzt btn.onRelease() u.s.w. ist das dann Action Script 3.0 oder mache ich was falsch?
Deine Scheibeweise on(release) ist AS1 like, wird auf den Button geschrieben, btn.onRelease ist AS2 like, wird auf die Zeitleiste geschrieben, 'btn' ist der Instanzname des Button Movieclips, in AS3 sieht soetwas wieder ganz anders aus.
Aber im prinzip kannst du deine schreibweise so lassen wenn du damit besser klarkommst.

Trace hat nichts mit this zu tun, mit trace erhälst du nur eine Ausgabe im Ausgabefenster. This dagegen ist die Referenz auf ein Objekt.
 
So eine Frage hätte ich noch, Denniz hat mir super geholfen.
Nun folge ich seinem Rat und habe noch eine letzte Frage:

Folgende Code funktioniert nicht, Flash springt einfach immer an die letzte Stelle der IF Abfragen weil er die Werte nicht beachtet. Allerdings werden die Werte ohne Probleme eingelesen ...

Code:
on(release){
	// var rechnen0:Number = parseInt(eingabe0.text, 10);
	// var rechnen1:Number = parseInt(eingabe1.text, 10);
	
	if (eingabe0 <=82)
	{
	ausgabe =("Geht nicht ...");
	}
	if (eingabe0 >=106)
	{
	ausgabe="Geht nicht ...";
	}
	if (eingabe1<=68)
	{
	ausgabe="Geht nicht ...";
	}
	if (eingabe1 >=87)
	{
	ausgabe="Geht nicht ...";
	}
	
	if ((eingabe0 >=82)&&(eingabe0 <=83)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	ausgabe="70 A";
	}
	if ((eingabe0 >=84)&&(eingabe0 <=85)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	ausgabe="70 B";
	}
	if ((eingabe0 >=86)&&(eingabe0 <=87)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	ausgabe="70 C";
	}
	if ((eingabe0 >=88)&&(eingabe0 <=90)&&(eingabe1>=68)&&(eingabe1<=72))
	{
	ausgabe="70 D";
	}
	
	//Zweite Ebene
	
	if ((eingabe0 >=87)&&(eingabe0 <=88)&&(eingabe1>=73)&&(eingabe1<=77))
	{
	ausgabe="75 A";
	}
	if ((eingabe0 >=89)&&(eingabe0 <=90)&&(eingabe1>=73)&&(eingabe1<=77))
	{
	ausgabe="75 B";
	}
	if ((eingabe0 >=91)&&(eingabe0 <=92)&&(eingabe1>=73)&&(eingabe1<=77))
	{
	ausgabe="75 C";
	}
	if ((eingabe0 >=93)&&(eingabe0 <=95)&&(eingabe1>=73)&&(eingabe1<=77))
	{
	ausgabe="75 D";
	}
	
	//Dritte Ebene
	
	if ((eingabe0 >=91)&&(eingabe0 <=93)&&(eingabe1>=78)&&(eingabe1<=82))
	{
	ausgabe="80 A";
	}
	if ((eingabe0 >=94)&&(eingabe0 <=95)&&(eingabe1>=78)&&(eingabe1<=82))
	{
	ausgabe="80 B";
	}
	if ((eingabe0 >=96)&&(eingabe0 <=97)&&(eingabe1>=78)&&(eingabe1<=82))
	{
	ausgabe="80 C";
	}
	if ((eingabe0 >=98)&&(eingabe0 <=100)&&(eingabe1>=78)&&(eingabe1<=82))
	{
	ausgabe="80 D";
	}
	
	//Vierte Ebene
	
	if ((eingabe0 >=97)&&(eingabe0 <=98)&&(eingabe1>=83)&&(eingabe1<=87))
	{
	ausgabe="85 A";
	}
	if ((eingabe0 >=99)&&(eingabe0 <=100)&&(eingabe1>=83)&&(eingabe1<=87))
	{
	ausgabe="85 B";
	}
	if ((eingabe0 >=101)&&(eingabe0 <=102)&&(eingabe1>=83)&&(eingabe1<=87))
	{
	ausgabe="85 C";
	}
	if ((eingabe0 >=103)&&(eingabe0 <=105)&&(eingabe1>=83)&&(eingabe1<=87))
	{
	ausgabe="85 D";
	}
}

Das komische ist in Java Script klappt es ....
Bitte helft :) Ich saß heute Nacht 5 Stunden dran und hab wohl schon alles probiert.
 
Zuletzt bearbeitet:
Zurück