| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| INSERT COIN Registriert seit: May 2003 Ort: Hansestadt Greifswald
Beiträge: 1.717
| Suche immernoch nach einer Idee!
Hallo Leute, also tut mir echt leid dass ich immernoch Probleme mit meinem kleinen Spiel habe, aber ich finde einfach keine Lösung. Also wie bereits erwähnt, habe ich ein Zucker-Spiel programmiert. Man hat 5 Nahrungsmittel denen man per drag & drob den Zuckeranteil (Stückchen) zuweisen soll. Es sind 5 Reihen mit jeweils 13 Rahmen in denen man die Zuckerstückchen (Quadrate) ablegen kann. Via Button wird geprüft ob die abgelegten Zuckerstückchen dem richtigen Anteil der jeweiligen Nahrungsmittel entspricht. Nun zu meinen Problem: Wenn ein Zuckerwürfel (Quadrat/MC) in einen Rahmen liegt, ist diese Rahem ja belegt. Das heißt, wenn ich versuche ein 2. Zuckerstückchen dort abzulegen tweent er es an seine Ursprungsposition zurück. Dann aber erkennt er das Zurückgetweente Zuckerstück nicht mehr als abgelegt an. Das wiederum bedeutet das die Überprüfung fehlerhaft sein kann falls einer Versucht ein Zuckerstück auf das andere zulegen. Ich hoffe mir kann einer helfen bzw. eine Idee mitteilen. Bitte nicht Böse sein das ich euch immernoch damit nerve. Hier das Script: Code: import mx.transitions.Tween;
import mx.transitions.easing.*;
Fehler_mc._visible = false;
Fehler2_mc._visible = false;
Fehler3_mc._visible = false;
Fehler4_mc._visible = false;
Fehler5_mc._visible = false;
richtig_mc._visible = false; // Hier werden die Fehlermeldungen auf _visible = false gesetzt
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 haben:Array = new Array(0, 0, 0, 0, 0);
var soll:Array = new Array(12, 3, 4, 5, 13);
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;
}
}
this.t1.stop();
this.t2.stop();
this.sX = this._x;
this.sY = this._y;
this.startDrag();
Fehler_mc._visible = false;
Fehler2_mc._visible = false;
Fehler3_mc._visible = false;
Fehler4_mc._visible = false;
Fehler5_mc._visible = false;
richtig_mc._visible = false;
};
mc.onRelease = mc.onReleaseOutside=function () {
stopDrag();
checkhit(this);
};
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() { //Hier wird getestet ob die benötigte Anzahl der MC´s in den jeweiligen Reihen richtig ist
var y = 0;
var zaehler = 0;
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;
zaehler = 0;
y++;
}
if (haben[0] == soll[0]) {
Fehler_mc._visible = false;
} else {
Fehler_mc._visible = true;
}
if (haben[1] == soll[1]) {
Fehler2_mc._visible = false;
} else {
Fehler2_mc._visible = true;
}
if (haben[2] == soll[2]) {
Fehler3_mc._visible = false;
} else {
Fehler3_mc._visible = true;
}
if (haben[3] == soll[3]) {
Fehler4_mc._visible = false;
} else {
Fehler4_mc._visible = true;
}
if (haben[4] == soll[4]) {
Fehler5_mc._visible = false;
} else {
Fehler5_mc._visible = true;
}
if (haben[0] == soll[0] && haben[1] == soll[1] && haben[2] == soll[2] && haben[3] == soll[3] && haben[4] == soll[4]) {
richtig_mc._visible = true;
}
};
restart_mc.onRelease = function() {
unloadMovie(_root);
loadMovie("Zucker.swf", 0);
}; |
| | |
| | #2 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Eigentlich musst du nur als Startpositionen (sX und sY) immer die "Zuckerdose" nehmen. Glaube zumindest, dass das jetzt so klappt, wie's soll. Abgesehen davon, dass ein Glas Kirschsaft wohl keine 13 Zuckerstücke enthält... PHP-Code:
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #3 (permalink) |
| INSERT COIN Registriert seit: May 2003 Ort: Hansestadt Greifswald
Beiträge: 1.717
|
Das mit dem Kischsaft is wirklich wahr... Deswegen habe ich es ja in die Liste mit aufgenommen. Hier mal der Link http://www.humanistische-aktion.home....de/zucker.htm --> Denn auch Fruchtzucker ist letzten endes auch nur Zucker (zwar gesünder aber trotzdem Zucker) Aufjedenfall vielen vielen Dank das du mir noch geantwortet hast. Ich weiß das ist keine Selbstverständlichkeit. Wirklich sehr sehr hilfsbereit. Ich schau mal ob ich deinen Tipp umsetzen kann... |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |