AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Frage zur Tastatureingabe und Kollisionsabfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zur Tastatureingabe und Kollisionsabfrage

Ein Thema von Jack der 3 · begonnen am 1. Nov 2006 · letzter Beitrag vom 4. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
Jack der 3

Registriert seit: 1. Nov 2006
3 Beiträge
 
Delphi 7 Personal
 
#1

Frage zur Tastatureingabe und Kollisionsabfrage

  Alt 1. Nov 2006, 22:21
Hallo bin neu hier da ich erst seit 2 jahren programmiere und gerade mit einem (sehr) leichtem spiel "fangen" an.

Doch schon gibts die ersten probleme:

1)

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if char (key) = 'Wthen
begin
movie1.Top:= movie1.Top -10;

end;

begin
if char (key) = 'Sthen
begin
movie1.Top:= movie1.Top +10;
end;

begin
if char (key) = 'Athen
begin
movie1.left:= movie1.left -10;
end;

begin
if char (key) = 'Dthen
begin
movie1.left:= movie1.left +10;
end;
begin
if key = VK_UP then
begin
movie2.Top:= movie2.Top -10;

end;

begin
if key = vk_down then
begin
movie2.Top:= movie2.Top +10;
end;

begin
if key = vk_left then
begin
movie2.left:= movie2.left -10;
end;

begin
if key = vk_right then
begin
movie2.left:= movie2.left +10;


end;
end;
end;
end;
end;
end;
end;
end;
(movie is ein eiger komponent ähnlich wie Image)


das is ne teil des quelltext. Alles schön und gut aber ich kann die zwei kreise zwar mit den Pfeiltasten und W, A, S, D bewegen aber nicht gleichzeitig!

2) Das spiel soll ja ein wie fangen sein also, dass wenn der eine kreis den anderen berührt soll zBs eine messagebox aufgerufen werden.
Wie soll das gehen??

Jack der 3

[edit=Phoenix]Titel geändert. Mfg, Phoenix[/edit]
Gruß Jack

DANKE IM VORRAUS
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ---------------------FRAGE------------------------------

  Alt 1. Nov 2006, 22:22
Bitte halte dich an die Regeln und gib deinem Topic einen aussagekräftigen Namen. Editier dazu deinen ersten Beitrag. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alt 1. Nov 2006, 23:13     Erstellt von EWeiss
Dieser Beitrag wurde von alcaeus gelöscht. - Grund: Off-topic. Alles was gesagt werden muss, wurde bereits von Luckie gesagt.
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#3

-Ohne Titel-

  Alt 2. Nov 2006, 05:12
Hallo!

Und willkommen in der DP
Hier gibt es einige Regeln, die Du beachten solltest, wenn Du willst, das Dir jemand hilft.

Könntest Du bitte:
  • das was Du möchtest genauer beschreiben
  • auf Dein Deutsch achten, damit man das nicht drei mal lesen muß, und sich dann noch nicht sicher ist, ob man's richtig verstanden hat.
  • Luckie's bitte umsetzen.

Zitat von Jack der 3:
das is ne teil des quelltext. Alles schön und gut aber ich kann die zwei kreise zwar mit den Pfeiltasten und W, A, S, D bewegen aber nicht gleichzeitig!
Das liegt sehr wahrscheinlich an den vielen unnützen begin end Blöcken.
Außerdem wäre eine Aufsplittung mit Case schneller in der Laufzeit und übersichtlicher zu lesen.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Alt 2. Nov 2006, 05:28     Erstellt von EWeiss
Dieser Beitrag wurde von r_kerber gelöscht. - Grund: Absolutes OT
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: ---------------------FRAGE------------------------------

  Alt 2. Nov 2006, 05:38
[OT]
Aber wenn Du Pech hast, löscht er das auch wieder...
[/OT]

Zitat von Jack der 3:
2) Das spiel soll ja ein wie fangen sein also, dass wenn der eine kreis den anderen berührt soll zBs eine messagebox aufgerufen werden.
Wie soll das gehen??
Dazu mußt Du Dir eine Routine schreiben, die prüft, ob die Kreise sich berühren.
Schau dazu mal nach Hier im Forum suchenKollision
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: ---------------------FRAGE------------------------------

  Alt 2. Nov 2006, 07:08
Hallo,
das Reagieren auf zwei (oder mehr) gedrückte Tase funktioniert mit der API-Funktionen GetKeyState und
entsprechende. Einfach mal im Plattform SDK oder msdn-Online suchen und ausprobieren.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Alt 2. Nov 2006, 07:35     Erstellt von RavenIV
Dieser Beitrag wurde von Phoenix gelöscht. - Grund: Das wurde schon oft genug gesagt.
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#6

Re: ---------------------FRAGE------------------------------

  Alt 2. Nov 2006, 07:40
STOP!


Jack der 3 wurde von Luckie in seiner Funktion als Moderator bereits darauf hingewiesen, dass er seinen Titel zu ändern hat. Mir persönlich geht "----------- Frage -----------" auch auf den Sack (sorry für die harten Worte), ABER: Es wurde schon gesagt und es gibt keinen Grund, das zu wiederholen.

Weder für uns Moderatoren, noch für andere User.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: ---------------------FRAGE------------------------------

  Alt 2. Nov 2006, 07:44
Zitat von Jens Schumann:
Hallo,
das Reagieren auf zwei (oder mehr) gedrückte Tase funktioniert mit der API-Funktionen GetKeyState und
entsprechende. Einfach mal im Plattform SDK oder msdn-Online suchen und ausprobieren.

Für jemanden, der gerade ganz klein anfängt, bzw. bei dem der Quellcode noch so aussieht, wie in den Kinderschuhen, der wird mit diesem Ratschlag ohne einen ggf. entsprechenden Direktverweis, auf was du meinst, nicht sonderlich viel anfangen können, denke ich...
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Jack der 3

Registriert seit: 1. Nov 2006
3 Beiträge
 
Delphi 7 Personal
 
#8

Re: Frage

  Alt 2. Nov 2006, 08:20
Ich bin erst 13...

Aber Danke an allle!
Gruß Jack

DANKE IM VORRAUS
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Frage

  Alt 2. Nov 2006, 08:22
@Jack der 3: Auch das Entfernen der Bindestriche macht den Titel nicht aussagekräftiger. Überleg dir um was es bei deinem Problem geht und versuch dies kurz im Topic zu beschreiben. Und das sollte man auch könne, wenn man erst dreizehn ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

Re: Frage

  Alt 2. Nov 2006, 18:44
Du mußt die Keys miteinander verknüpfen.
Das Zauberwort ist 'AND'

gruß
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 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