AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Einfache DXInput Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Einfache DXInput Abfrage

Ein Thema von PhöniX · begonnen am 29. Jan 2004 · letzter Beitrag vom 30. Jan 2004
Antwort Antwort
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#1

Einfache DXInput Abfrage

  Alt 29. Jan 2004, 18:13
So..noch ne Frage...
Gibt es eine einfache Abfrage der Tastatur mit DXInput, denn die beschriebene Möglichkeit bei Delphi-Traff ist mir zu kompliziert...Außerdem soll lediglich ein Bild bewegt werden und ein neues Bild geladen werden..und nicht irgendwas animiert werden
Es wäre schön wenn mir jemand den code posten könnte und an die stelle, an der die aktionen reinkommen einen kommentar sschreiben könnt z. B.:
//Aktionen ..
DANKE
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#2

Re: Einfache DXInput Abfrage

  Alt 29. Jan 2004, 18:23
Wenn du ein Sprite verwendest musst du folgendes machen.

Delphi-Quellcode:
type
 TPlayer = class(TImageSprite)
 private
 public
  procedure DoMove(MoveCount: Integer); override// Zeile erweitern
end;

.....


procedure TPlayer.DoMove(MoveCount: Integer);
begin
  if isLeft in Form1.DxInput1.States then
    Player.X := Player.X -3;
  if isRight in Form1.DxInput1.States then
    Player.X := Player.X +3;
end;
  Mit Zitat antworten Zitat
PhöniX

Registriert seit: 24. Jan 2004
Ort: Marienfeld
149 Beiträge
 
Delphi 5 Professional
 
#3

Re: Einfache DXInput Abfrage

  Alt 29. Jan 2004, 21:48
Zitat:
TPlayer.DoMove(MoveCount: Integer);
begin
if isLeft in Form1.DxInput1.States then
Player.X := Player.X -3;
if isRight in Form1.DxInput1.States then
Player.X := Player.X +3;
Wie kommst du jetzt auf nen Player?
Ich will einfach in ein Item ein anderes Bild laden?
Kann mir das jemand erklären??
cya PhöniX
besucht www.lycoweb.de
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#4

Re: Einfache DXInput Abfrage

  Alt 29. Jan 2004, 22:38
Hallo PhöniX,

eines solltest du bedenken: Wenn du die DirectInput-Abfrage verwendest, wird nicht fest gestellt, wann die Taste gedrückt wird, sondern, ob sie unten oder oben ist. D.h. wenn du DirectInput benutzt wird das Laden des Bildes vermutlich einmal pro Frame ausgeführt. Also: Taste 1 Sekunde gedrück gehalten --> Bild wurde ca. 60 mal nachgeladen.
Wenn du ein Bild irgendwie schön fließend bewegen willst, dann mach es mit DirectInput. Dazu kannst du die von citybreaker angegebene Prozedur verwenden, wobei du allerdings die Zeile
Player.X := Player.X -3; gegen das ersetzt, was eben passieren soll, wenn man die entsprechende Taste drückt.

Wenn du du dagegen bei einem Tastendruck nur einmal etwas ausführen lassen willst, dann benutzte die OnKeyDown-Prozedur der Form. (Siehe auch OH)

Grüße
Seniman
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#5

Re: Einfache DXInput Abfrage

  Alt 30. Jan 2004, 14:34
Du hast doch gesagt es soll ein Bild bewegt werden. Musste dich
demnächst was genauer ausdrücken. -.-''
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:19 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