Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Billard-Queue - Denkansatz? (https://www.delphipraxis.net/115468-billard-queue-denkansatz.html)

ThYpHoOn 12. Jun 2008 14:46


Billard-Queue - Denkansatz?
 
Hallo Leute,

ich bin derzeit dabei ein Billardspiel für ein Schulprojekt zu machen (morgen ist Abgabe :S) und nun müsste ich noch ein Billard-Queue ins Spiel implementieren. Mir fehlt allerdings noch der richtige Denkansatz. Ob es nur ein Shape sein soll oder ein richtiges Image und wie die Geschwindigkeit inkl. Masse übertragen werden soll.

Meine Kugeln sind einfach ein Array mit verschiedenen Eigenschaften, wie z.b. FX, FY für die Geschwindigkeit auf der X und Y Achse. Sowie die Massenberechnung für die Kugel-Kollisionen. So könnte man auch eine Masse des Queues auf die Angestoßene weiße Kugel machen.

Wie sollte man am besten die Mausposition auswerten, um so die Richtung des Queues korrekt zu bestimmen? Denn ich hab nur etwas gefunden womit ich die Mausposition auf dem Screen auslesen kann, aber nicht die Tatsächliche auf der Form.

Gz ThY

CK_CK 12. Jun 2008 14:49

Re: Billard-Queue - Denkansatz?
 
Um die Position der Maus auf der Form (oder einer beliebigen Komponente), kannst du die Funktion "ScreenToClient" verwenden...

Chris

ThYpHoOn 12. Jun 2008 15:48

Re: Billard-Queue - Denkansatz?
 
Zitat:

Zitat von CK_CK
Um die Position der Maus auf der Form (oder einer beliebigen Komponente), kannst du die Funktion "ScreenToClient" verwenden...

Chris

Delphi-Quellcode:
 p := ScreenToClient(Mouse.CursorPos);
Hat soweit einwandfrei geklappt, danke!
Gibt es noch irgendwelche schönen Ansätze für Billard-Queues? Bzw. würdet ihr mir eher ein Image oder ein Shape empfehlen? Womit lässt sich einfacher arbeiten?

Gz ThY

CK_CK 12. Jun 2008 15:59

Re: Billard-Queue - Denkansatz?
 
Ein Shape lässt sich nicht drehen. Also fällt das schonmal raus (es sei denn du willst nur aus den vier Himmelsrichtungen "schießen"...
Ein Image könntest du nehmen (oder Paintbox). Darauf könntest du deinen Queue selbst zeichnen (oder eine schöne png-Grafik gedreht ausgeben). Falls du dich für die Graphics32-Library entscheidest, ist das Drehen sogar schon mit eingebaut...

Chris

ThYpHoOn 12. Jun 2008 16:14

Re: Billard-Queue - Denkansatz?
 
Das drehen muss sich ja auf die Mausposition auswirken und ein Timer der quasi den Queue automatisch nach vorn und wieder nach hinten "schiebt" um so die Stoßkraft kontrollieren zu können.

Die Graphics32-Library sagt mir so direkt recht wenig, könntest du ein Code-Beispiel raussuchen, mit der besagten Dreh-Funktion?


Gz ThY

rawsoul 12. Jun 2008 17:52

Re: Billard-Queue - Denkansatz?
 
Die G32 Libs sind völlig neue Komponenten, welche du unter http://graphics32.org finden kannst.

DGL-luke 12. Jun 2008 17:57

Re: Billard-Queue - Denkansatz?
 
völlig neu? ich benutz die seit gefühlten 10 jahren.

rawsoul 12. Jun 2008 18:47

Re: Billard-Queue - Denkansatz?
 
Sollte so viel wie "sie sind nicht direkt bei Delphi dabei" heißen ;)

ThYpHoOn 12. Jun 2008 19:40

Re: Billard-Queue - Denkansatz?
 
Hilft mir glaube ich nicht wirklich weiter, habe es mir eine Zeit lang angeschaut und versucht zu verstehen, aber ich bezweifel das ich da so schnell durchsteige das es bis morgen läuft :(

Larsi 12. Jun 2008 19:45

Re: Billard-Queue - Denkansatz?
 
Hab dir ne Pn geschrieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 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