| |||||||
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) |
| Neuer User Registriert seit: Jul 2009 Ort: bei Berlin
Beiträge: 22
| Fehler/Problem beim "Rundenbasiert" (Beat em up)
Hi Leute Oh Gott ich hoffe die Überschrift ist irgendwie verständlich, aber ich wusste nicht wie ich mein Prolem kurz ausdrücken soll. Ich hab hier mein Beat em up, bloß das es rundenbasiert ist, funktioniert nicht. Leider. Also nach der ersten Runde soll sie zweite Folgen, dann die Dritte, wer mehr gewonnen hat - Gewinner. Das ganze Spiel war mal in zwei Dateien, einmal der Menü Datei und der Spieler Datei. Jetzt kuddel muddel ich das zusammen zu einer Demoversion. Wir hatten damals mehrere Spielerauswahlmöglichkeiten. Die habe ich rausgenommen etc. Abspeckungen eben. Aber das rundenbasierte soll ja dennoch bleiben. Das ganze Spiel ist auf Spieler vs. Computer (Ki) Spieler vs Spieler gibt es hier nicht. Ich komme mal zum Code. Den ganzen werde ich nicht posten, denn der ist mittlerweile auch schon 860 Zeilen lang. Achso, das ganze ist AS 2. Zu Beginn die Variablen etc. Dann kommt die "Ampel" - die Anzeige wer gewonnen hat, grün gewonnen, gelb draw und rot verloren. Zu Beginn habe ich noch die beiden Variablen. Natürlich habe ich mehr, aber der Rest ist für die Spieler. Code: var runde:Number = 1; var gewinner_arr:Array = new Array(); Code: ampelstand();
function ampelstand()
{
//----------------------
// Rundenbuttons Spieler
//----------------------
if(runde > 1)
{
if(gewinner_arr[0] == "Spieler") // Spieler gewinnt
{
ampel_mc_s_1.gotoAndStop(2); // grüner Button
}
if(gewinner_arr[0] == "KI") // KI gewinnt
{
ampel_mc_s_1.gotoAndStop(4); // roter Button
}
if(gewinner_arr[0] == "Unentschieden") // Unentschieden
{
ampel_mc_s_1.gotoAndStop(3); // gelber Button
}
}
if(runde > 2)
{
if(gewinner_arr[1] == "Spieler")
{
ampel_mc_s_2.gotoAndStop(2);
}
if(gewinner_arr[1] == "KI")
{
ampel_mc_s_2.gotoAndStop(4);
}
if(gewinner_arr[1] == "Unentschieden")
{
ampel_mc_s_2.gotoAndStop(3);
}
}
if(runde > 3)
{
if(gewinner_arr[2] == "Spieler")
{
ampel_mc_s_3.gotoAndStop(2);
}
if(gewinner_arr[2] == "KI")
{
ampel_mc_s_3.gotoAndStop(4);
}
if(gewinner_arr[2] == "Unentschieden")
{
ampel_mc_s_3.gotoAndStop(3);
}
}
//---------------------------
// Rundenbuttons KI
//---------------------------
if(runde > 1)
{
if(gewinner_arr[0] == "KI")
{
ampel_mc_ki_1.gotoAndStop(2);
}
if(gewinner_arr[0] == "Spieler")
{
ampel_mc_ki_1.gotoAndStop(4);
}
if(gewinner_arr[0] == "Unentschieden")
{
ampel_mc_ki_1.gotoAndStop(3);
}
}
if(runde > 2)
{
if(gewinner_arr[1] == "KI")
{
ampel_mc_ki_2.gotoAndStop(2);
}
if(gewinner_arr[1] == "Spieler")
{
ampel_mc_ki_2.gotoAndStop(4);
}
if(gewinner_arr[1] == "Unentschieden")
{
ampel_mc_ki_2.gotoAndStop(3);
}
}
if(runde > 3)
{
if(gewinner_arr[2] == "KI")
{
ampel_mc_ki_3.gotoAndStop(2);
}
if(gewinner_arr[2] == "Spieler")
{
ampel_mc_ki_3.gotoAndStop(4);
}
if(gewinner_arr[2] == "Unentschieden")
{
ampel_mc_ki_3.gotoAndStop(3);
}
}
}//END ampelstand(); Unten kommt dann: Code: //----------------------
// TimeOut/ "Rundenzeit"
//----------------------
var sec:Number = 60; // 60 Sekunden Rundencountdown
var timerNum:Number;
timerNum = setInterval(countDown, 1000); // Sekundentakt
zeit_txt.text = sec; // Ausgabefenster für den Countdown
function countDown()
{
sec--; // Sekunden minus eins
zeit_txt.text = sec;
if ( sec == 0 || leben == 0 || leben2 == 0 )
{
if (leben < leben2) //Ki gewinnt
{
spieler_mc.gotoAndStop("verloren"); //Ki gewinnt
ki_mc.gotoAndStop("stand2");
gewinner_arr[ (runde - 1) ] = "KI";
mySound2.start (0, 1);
}
if (leben2 < leben) // Spieler gewinnt
{
ki_mc.gotoAndStop("verloren2"); // Spieler gewinnt
spieler_mc.gotoAndStop("stand");
gewinner_arr[ (runde - 1) ] = "Spieler";
mySound3.start (0, 1);
}
if (leben == leben2) // Timeout / Unentschieden
{
spieler_mc.gotoAndStop("verloren");
ki_mc.gotoAndStop("verloren2");
gewinner_arr[ (runde - 1) ] = "Unentschieden";
}
clearInterval(timerNum); // Countdown wieder auf 60 sek stellen
aktiv=true; // SPieler wird zurückgesetzt
aktiv_ki=true; // Ki wird zurückgesetzt
repeat = false;
runde++; // nächste Runde
if(runde < 4) // Drei Runden
{
countdown_mc._visible = true; // 3, 2, 1, FIGHT movieclip
countdown_mc.play();
}
else
{
ampelstand(); // Kuller werden übernommen s.o.
for(var i = 0; i < gewinner_arr.length; i++)
{
if(gewinner_arr[i] == "Spieler") // Nach der Runde bekommt der Spieler einen Kuller
{
punktespieler++;
}
if(gewinner_arr[i] == "KI") // Nach der Runde bekommt die KI einen Kuller
{
punkteki++;
}
}//END for
if(punktespieler > punkteki)
{
trace("Spieler gewinnt!")
spieler_mc.gotoAndStop("sieg");
ki_mc.gotoAndStop("niederlage2");
mySound3.start (0, 1);
}
if(punkteki > punktespieler)
{
trace("KI gewinnt!")
spieler_mc.gotoAndStop("niederlage");
ki_mc.gotoAndStop("sieg2");
mySound2.start (0, 1);
}
if(punkteki == punktespieler)
{
countdown_mc._visible = true;
countdown_mc.play();
}
}//else END
}//if END
}//countDown END Ich hoffe mir kann jemand weiterhelfen. Ich kann auch den ganazen Code nochmal posten. Die Datei ist leider schon 90MB groß, durch die ganzen Grafiken.
__________________ Ich glaube ich bin manchmal arg Kompliziert |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
ääääh, gibts dazu auch eine frage?
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
WAS geht nicht - die hupe oder der blinker? was soll den gehen und tut es nicht? wer soll den aus diesen fragmenten erraten können was dir im kopf rumschwirrt?
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (03-03-2010 um 12:48 Uhr) |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
traces einbauen und/oder mal den debugger benützen. function countDown() { trace("test1: countDown wird aufgerufen"); .. trace("test2: bedingung ist "+( sec == 0 || leben == 0 || leben2 == 0 ) ); if ( sec == 0 || leben == 0 || leben2 == 0 ) { ... trace("test3: bin bei runde++"); runde++;
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fehler beim mp3 "in Bibliothek importieren" | dizzytom | Flash Einsteiger | 2 | 14-09-2007 12:23 |
| Unerklärlicher Fehler: "Target not found: Target="0" Base="_level0"....." | JuL! | Flash MX 2004 | 3 | 13-10-2004 23:40 |
| "Barneys" Film - fehler bei bilder import flash mx problem? | joeljoejoel | ActionScript 1 | 1 | 05-11-2002 19:57 |
| "Fehler beim öffnen eines leeren dokuments" | derschally | Flash MX | 1 | 19-03-2002 22:36 |
| "Fehler beim öffnen des Dokuments." | Falk | Flash 4 und Flash 5 | 9 | 24-12-2001 17:22 |