Ładny brzuch

procedure tkopia.DoCollision(Sprite: TSprite; var Done: Boolean); begin if (Sprite is tkolizja) then  begin   gracz.Image:= fm.grafika.Items.Items[2];   y:=y-1;   gracz.y:=gracz.y-1;   gracz.stoi:= true;  end; end;
Mam kod, postac jest tworzona na pewniej wysokosci. poki nie stanie na platformie jest wsio w porzadku (tj nie wywala tej procy bo w koncu nie ma kolizji) ale dalej mam kod na skok:
if (isUp in fm.input.States)and(stoi=true) then   begin    gracz1.Y:= gracz1.Y-20;    kopia1.Y:= kopia1.Y-20;    Image:= fm.grafika.Items.Items[3];    stoi:= false;   end;
i tu zaczyna sie problem. Otoz zmienna 'stoi' -jak sama nazwa wskazuje- ma wskazywac na to czy koles stoi. Jest ona po to aby gracz nie mogl skakc w nieskonczonosc (przedostatnia linia kodu 1. i pierwsza kodu 2.) Jak juz wspomnialem wsio ladnie dziala tylko dopoki nie upadnie pierwszy raz na platforme. Potem nie wiem czemu to DoCollision wywala nawet wtedy gdy kolizji nie ma :( Dlaczego tak sie dzieje i jak temu zapobiec? gracz moze wtedy podskakiwac ile tylko chce, nawet wtedy kiedy jest w powietrzu...

ps. pixelcheck naturalnie wlaczony
ps2. gdybyscie potrzebowali kodu, ktory powoduje ze gracz spada to mowcie, chociaz imho nie tam jest problem
Uytkownik Kajetanek edytowa ten post 20 maj 2006, 11:41


bycmoze pozorne "stanie" na platformie zeczywiscie uchodzi za kolizje od gory (tzn "stopy" kolesia sa pod poziomem platformy)?


bycmoze pozorne "stanie" na platformie zeczywiscie uchodzi za kolizje od gory (tzn "stopy" kolesia sa pod poziomem platformy)?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •