Avatar billede jannek_ek Nybegynder
06. juli 2006 - 21:03 Der er 1 kommentar og
1 løsning

funktione springes over i nogle tilfælde

jeg er igang med at lave en skabelon til et spil, hvor forskellige figure bevæger sig rundt. Indtil videre har jeg lavet hovedpersonen og een fjende. de arver begge klassen figur, der blandt andet indeholder funktionen gå:

public void gå(Point punkt)
{
  if (levende)
  {
  if (bevæg != null)
    if (bevæg.igang())
    bevæg.Stop();
 
  bevæg = new flyt(this);
  bevæg.start(hastighed, punkt);
  }
}

flyt er den tråd der får personerne til at gå, via funktionen bevæg:

public void bevæg()
{
  findNæste();
 
  System.out.println(ref.navn + " næste");
 
  if (ref.ref.muligt(næste.rP(), ref.radius) && !ref.ref.pause && kører)
  {
  ref.koord = næste.rP();
  ok = true;
  } else
  {
 
  }
 
  if (ok)
  {
  ok = false;
 
  tiden = new timer(this, 1000 / (hastighed / skridt), 1);
  tiden.start();
  } else
  {
  Stop();
  }
 
  ref.ref.repaint();
}

der startes af funktionen start:

public void start(int h, Point r)
{
  System.out.println(ref.navn + " start");
  hastighed = h;
  retning = r;
 
  skridt = (hastighed / 50) + 1;
 
  if (skridt < 2)
  skridt = 2;
 
  if (skridt > 3)
  skridt = 3;
 
  if (kører)
  {
  tiden.stop();
  }
 
  kører = true;
  næste.set(ref.koord);
 
  super.start();
}

jeg har to underklasser til figur: helt og monster i begge klasser kaldes funktionen gå. i helt, via en mouslistener, og i monster via en timer der sætter kursen mod helten hvert sekundt:

public void aktiver()
{
  if (levende)
  {
  if (koord.distance(ref.spiller.koord) < aRadius + ref.spiller.radius)
    angrib(ref.spiller);
  else
    gå(ref.spiller.koord);
 
  tid = new timerM(this, 1000);
  tid.start();
  }
}


jeg kan i konsollen se at helten går fint, men mit monster bevæger sig ikke, og jeg kan se at det springer funktionen "ref.ref.muligt" over i funktionen bevæg.

jeg ved ikke hvor godt jeg fik det forklaret, men pointen er at når den samme funktion kaldes, fra to forskellige underklasser, virker den ikke i den ene af dem...
Avatar billede jannek_ek Nybegynder
06. juli 2006 - 21:05 #1
nej hov har lige fundet en fejl så lad vær at svar på noget !!!
Avatar billede jannek_ek Nybegynder
06. juli 2006 - 21:11 #2
beklager men har fundet fejlen nu
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester