Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-11-2007, 08:20   #1 (permalink)
INSERT COIN
 
Benutzerbild von pacman.hgw
 
Registriert seit: May 2003
Ort: Hansestadt Greifswald
Beiträge: 1.717
Indizierung über Variable!

Code:
tester_mc.onRelease = function() {
	for (var x = 1; x<66; x=x+13) {
		var anzahl = x+13;
		for (z=x; z<anzahl; z++) {
			if (_root["Rahmen"+z].belegt) {
				zaehler++;
			}
		}
		haben[y] = zaehler;
		trace(haben[y]); // Test
		trace(haben[0]); //Test
		zaehler = 0;
		y++;
	}
Warum liefert trace unterschiedliche Ausgaben?

Geändert von pacman.hgw (09-11-2007 um 08:24 Uhr)
pacman.hgw ist offline   Mit Zitat antworten
Alt 09-11-2007, 08:41   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.586
Was denn für ausgaben?

Vielleicht solltest du auch etwas mehr von dem Code posten, denn da fehlt ja die hälfte.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 09-11-2007, 08:58   #3 (permalink)
INSERT COIN
 
Benutzerbild von pacman.hgw
 
Registriert seit: May 2003
Ort: Hansestadt Greifswald
Beiträge: 1.717
Sorry aber der ist so lang:

Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var hit:Array = new Array(Zucker1, Zucker2, Zucker3, Zucker4, Zucker5, Zucker6, 
Zucker7, Zucker8, Zucker9, Zucker10, Zucker11, Zucker12, Zucker13, Zucker14, 
Zucker15, Zucker16, Zucker17, Zucker18, Zucker19, Zucker20, Zucker21, Zucker22, 
Zucker23, Zucker24, Zucker25, Zucker26, Zucker27, Zucker28, Zucker29, Zucker30, 
Zucker31, Zucker32, Zucker33, Zucker34, Zucker35, Zucker36, Zucker37);
var y = 0;
var zaehler = 0;
var haben:Array = new Array();
var soll:Array = new Array(12, 3, 4, 5, 13);
var mouseListener:Object = new Object();
mouseListener.hasFocus = null;
for (var i = 0; i<hit.length; i++) {
	var mc:MovieClip = hit[i];
	mc.onPress = function() {
		for (var x = 0; x<66; x++) {
			var rahmen:MovieClip = _root["Rahmen"+x];
			if (this.hitTest(rahmen)) {
				rahmen.belegt = false;
				Mouse.addListener(mouseListener);
				mouseListener.hasFocus = this;
			}
		}
		this.t1.stop();
		this.t2.stop();
		this.sX = this._x;
		this.sY = this._y;
		this.startDrag();
	};
	mc.onRelease = mc.onReleaseOutside=function () {
		stopDrag();
		checkhit(this);
		Mouse.removeListener(mouseListener);
		mouseListener.hasFocus = null;
	};
	mc.useHandCursor = false;
}
//  
function checkhit(mc) {
	for (var x = 0; x<66; x++) {
		var rahmen:MovieClip = _root["Rahmen"+x];
		if (mc.hitTest(rahmen)) {
			if (!rahmen.belegt) {
				mc.t1 = new Tween(mc, "_x", Regular.easeOut, mc._x, rahmen._x, 1, true);
				mc.t2 = new Tween(mc, "_y", Regular.easeOut, mc._y, rahmen._y, 1, true);
				rahmen.belegt = true;
				break;
			} else {
				trace(_root["Rahmen"+x]+" ist belegt!");
				mc.t1 = new Tween(mc, "_x", Bounce.easeOut, mc._x, mc.sX, 1, true);
				mc.t2 = new Tween(mc, "_y", Bounce.easeOut, mc._y, mc.sY, 1, true);
				break;
			}
		} else {
			this = new Tween(mc, "_x", Bounce.easeOut, mc._x, mc.sX, 1, true);
			this = new Tween(mc, "_y", Bounce.easeOut, mc._y, mc.sY, 1, true);
		}
	}
	var count = 0;
	for (var x = 0; x<66; x++) {
		if (_root["Rahmen"+x].belegt) {
			count++;
		}
	}
	trace(count+" MC"+(count == 1 ? "" : "s")+" abgelegt");
}
tester_mc.onRelease = function() {
	for (var x = 1; x<66; x=x+13) {
		var anzahl = x+13;
		for (var z=x; z<anzahl; z++) {
			if (_root["Rahmen"+z].belegt) {
				zaehler++;
			}
		}
		haben[y] = zaehler;
		trace(haben[y]); // Test
		trace(haben[0]); //Test
		zaehler = 0;
		y++;
	}
	if (haben[0] == soll[0]) {
		trace("Anzahl richtig (Cola)");
	} else {
		trace("Falsche Anzahl (Cola)");
	}
	if (haben[1] == soll[1]) {
		trace("Anzahl richtig (Fruchtzwerg)");
	} else {
		trace("Falsche Anzahl (Fruchtzwerg)");
	}
	if (haben[2] == soll[2]) {
		trace("Anzahl richtig (Kinderschokolade)");
	} else {
		trace("Falsche Anzahl (Kinderschokolade");
	}
	if (haben[3] == soll[3]) {
		trace("Anzahl richtig (Hanuta)");
	} else {
		trace("Falsche Anzahl (Hanuta)");
	}
	if (haben[4] == soll[4]) {
		trace("Anzahl richtig (Kirschsaft)");
	} else {
		trace("Falsche Anzahl (Kirschsaft)");
	}
};
Ich mein die trace-Ausgaben. trace(haben[y]); & trace(haben[0]); müssten normalerweise den selben wert ausgeben. tun sie aber nicht...

Geändert von pacman.hgw (09-11-2007 um 09:15 Uhr)
pacman.hgw ist offline   Mit Zitat antworten
Alt 09-11-2007, 09:10   #4 (permalink)
INSERT COIN
 
Benutzerbild von pacman.hgw
 
Registriert seit: May 2003
Ort: Hansestadt Greifswald
Beiträge: 1.717
Ich hatte das schonmal in dem Einsteigerbereich gepostet. Aber ich denke das geht schon darüber hinaus (oder?). Also das ist ein kleines Spiel. Mann soll herrausfinden wieviel Zuckerwürfel in 5 verschiedenen Nahrungsmitteln enthalten sind. 5 Nahrungsmittel = 5 Reihen mit jeweis 13 Rahmen. Auf diesen Rahmen kann man eben die Zuckerwürfel (Quadrate) ziehen und ablegen. Auf den klick eines Buttons soll er Überprüfen ob die Zahl der abgelegten Quadrate in den jeweiligen Reihen richtig ist... Nur das funktioniert nicht so richtig. Es scheint so als ob die Schleife in dem Release unten beim 2. durchlauf nicht mehr richtig funktioniert...
pacman.hgw ist offline   Mit Zitat antworten
Alt 09-11-2007, 11:26   #5 (permalink)
INSERT COIN
 
Benutzerbild von pacman.hgw
 
Registriert seit: May 2003
Ort: Hansestadt Greifswald
Beiträge: 1.717
Okay hab selber rausbekommen. Der hat y nich wieder auf Null gestellt wenn er wieder neu in die Schleife is. Habe jetzt var y = 0 und var count = 0 in die function unten eingebaut statt gloabal...
pacman.hgw 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 14:30 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele