{lang: 'de'}
Flashhilfe.de - Flash Community

Problem: ungewünschte Endlosschleife in Battle-Game [Flash 10]

 


AntwortenRegistrieren Seite1  

schuhschuh#1
Benutzerbild von schuhschuh
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 );
};
vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

23.04.2012, 10:40