Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi probleme beim abprallen des balls (https://www.delphipraxis.net/69989-probleme-beim-abprallen-des-balls.html)

Travis 23. Mai 2006 09:39


probleme beim abprallen des balls
 
hi
vielleicht kann mir wer helfen
rechts prallt der ball richtig ab aber links prallt der ball nur ab wenn er von links kommt vielleicht weiss wer was der fehler ist wer sehr dringend vielen dank


Delphi-Quellcode:
  //ab hier abprallen von balken {links}
  If (sh_Ball.left <= spieler1.Left+spieler1.Width) and
     ((sh_Ball.Top+sh_Ball.Height)>= spieler1.Top) and
     (sh_Ball.Top <= (spieler1.Top+spieler1.Height)) then
      Leftstep:=Leftstep*(-1);
                                    {rechts}
 If ((sh_Ball.Left+sh_Ball.Width) >=spieler2.Left) and
     ((sh_Ball.Top+sh_Ball.Height) >= spieler2.Top) and
     (sh_Ball.Top <= (spieler2.Top+spieler2.Height)) then
       LeftStep:=Leftstep*(-1);
  end;
  //ende abprallen von balken

pacman1986 23. Mai 2006 09:44

Re: probleme beim abprallen des balls
 
ich glaube du hast nur 1 () vergessen! in der ersten Zeile
Delphi-Quellcode:
  If (sh_Ball.left <= (spieler1.Left+spieler1.Width)) and //<-Hier
     ((sh_Ball.Top+sh_Ball.Height)>= spieler1.Top) and
     (sh_Ball.Top <= (spieler1.Top+spieler1.Height)) then
      Leftstep:=Leftstep*(-1);

Travis 23. Mai 2006 10:00

Re: probleme beim abprallen des balls
 
hmm ne hab das jetzt geändert is immer noch so das es nur voll der linken seite abprallt weiss echt net mehr weiter aber schonma thx für die hilfe

Klaus01 23. Mai 2006 10:07

Re: probleme beim abprallen des balls
 
solltest Du nicht 4 Ereignisse abfragen

am linken Spieler
- Ball kommt von links
- Ball kommt von rechts

Der Ball kommt von links wenn die rechte Grenze
des Balls (left-width) auf die linke Grenze des Spielers (left) trifft.
Wenn das eintrifft muss die Laufrichtung des Balls umgekehrt werden (*-1).

Der Ball kommt von rechts wenn die linke Grenze
des Balls (left) auf die rechte Grenze des Spielers (left+width) trifft.
Wenn das eintrifft muss die Laufrichtung des Balls umgekehrt werden.

am rechten Spieler
- Ball kommt von links
- Ball kommt von rechts

- analog wie oben

Grüße
Klaus

Travis 23. Mai 2006 10:14

Re: probleme beim abprallen des balls
 
hmm ok thx versuch grad in code umzusetzn hoffe es gelingt mir vielen dank =)

Kedariodakon 23. Mai 2006 10:43

Re: probleme beim abprallen des balls
 
Ganz Rudimentär erklärt:
Dein Ball brauch 2 Variablen, einmal horizontale Bewegung und einmal vertikale...

Wenn der Ball links oder rechts auftrifft die Horz.Variable * -1

Wenn der Ball unten oder oben auftrifft die Ver.Variable * -1
Und schon prallt der Ball ab...

Bei der Bewegungsfunktion addierst du einfach die beiden Variablen zur Position und fragst ab ob der Rand getroffen wurde =)


Bye Keda

pacman1986 23. Mai 2006 11:46

Re: probleme beim abprallen des balls
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich hab hier ma schnell ein ping pong hingeklatscht vileicht hilft es dir ja weiter ?

PS: wenn du das Kompilieren willst und den delphix timer nicht hast dann kopier das einfach in einen Normalen Timer...

Travis 31. Mai 2006 16:42

Re: probleme beim abprallen des balls
 
vielen dank euch allen ^^ mein fehler war einfach das es an der falsche stelle war und deshalb erst abgefragt wurden ist als der ball von der rechten seite kam =) mitlerweile fungsioniert aber alles ^^ thx

Zacherl 31. Mai 2006 16:46

Re: probleme beim abprallen des balls
 
Wieso benutzt du denn Images?
Zeichne doch auf ein DXDraw und benutze Figuren. Dann wird das ganze Spiel auch gleich viel schneller ...

Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz