Problem: ungewünschte Endlosschleife in Battle-Game [Flash 10]
| Beiträge: 4 Registriert: Apr 2012
| 22.04.2012, 19:47
Hallo, ich bin neu dabei und versuche gerade nach einem Tutorial ein Kampfspiel zu programmieren. Dabei soll nur der Spieler Aktionen ausführen können und der Gegner als Reaktion die zur Attacke passende Animation abspielen. Das Problem ist, dass der Gegner mit seiner Reaktion garnicht mehr aufhört und die in Endlosschleife abspielt. Könntet Ihr mir sagen wo im Code der Fehler liegt? Vielen Dank!
var player_attack:Boolean = false;
var player_magic:Boolean = false;
var health:Number = 100;
var ehealth:Number = 100;
var delay:Number = 1000;
var counter:Number = 0;
function onEnterFrame() {
if (player_attack && player.attack_mc._currentframe == player.attack_mc._totalframes) {
ehealth -= 10+random(10);
player_attack = false;
player.gotoAndStop(1);
} else if (player_magic && player.magic_mc._currentframe == player.magic_mc._totalframes) {
ehealth -= 100;
player_magic = false;
player.gotoAndStop(1);
}
};
attack.onRelease = function() {
player_attack = true;
player.gotoAndStop(2);
function e_reaction_attack() {
enemy.gotoAndStop(2);
counter +1;
if (counter > 0) clearInterval(intval), delete intval;
};
intval = setInterval ( e_reaction_attack, delay );
if (counter > 0) enemy.gotoAndStop(1);
};
magic.onRelease = function() {
player_magic = true;
player.gotoAndStop(3);
function e_reaction_magic() {
var counter = 0;
enemy.gotoAndStop(3);
counter +1;
if (counter > 0) clearInterval(intval2), delete intval2, enemy.gotoAndStop(1);};
intval2 = setInterval ( e_reaction_magic, delay );
}; | | | Beiträge: 3000 Wohnort: Köln Registriert: Oct 2007
| 23.04.2012, 10:40
|
|