Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Image Keydown Problem (https://www.delphipraxis.net/66881-image-keydown-problem.html)

Doomguard 5. Apr 2006 23:18


Image Keydown Problem
 
Hi habe da ein Problem ... :wall: :gruebel:

...also ich möchte ein Spiel schreiben bei dem ich ein Männchen(Image) steuere und dies dann Geldscheine(Image) einsammelt.
Ich bin jetzt soweit,dass ich das Männchen bewegen kann, der Geldschein per Random an eine bistimmte Stelle erscheint und ich diesen einsammeln kann. Jedoch habe ich das wie folgt gemacht :

Delphi-Quellcode:
 if (image4.top=image2.Top) and (image4.left=image2.Left) then
Nun so kann ich aber nur das "Image" einsammeln, wenn beide Images auf der selben Position sind.

Die Frage lautet also wie muss ich mein Programm verändern,dass wenn ich mit mit dem Männchen das "Image" nur berühre es an einer anderen Stelle erscheint ?

DP-Maintenance 5. Apr 2006 23:20

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Multimedia" verschoben.
Herzlich willkommen in der DP. In die Code-Library gehören keine Fragen, sondern nur fertige Snippets. ;)

marabu 6. Apr 2006 06:44

Re: Image Keydown Problem
 
Herzlich willkommen in der Delphi-PRAXiS, Doomguard.

Ich habe keine Ahnung von Computerspielen, aber ich stelle mir vor, dass es mitunter angenehm sein könnte, wenn ein Objekt (Geldschein) von einem Akteur auch im Vorübergehen eingesackt werden kann.

Delphi-Quellcode:
uses
  ExtCtrls,
  Types;

function Interact(imgActor, imgObject: TImage; range: Integer): Boolean;
var
  r, rActor, rObject: TRect;
begin
  rActor := imgActor.BoundsRect;
  InflateRect(rActor, range, range);
  Result := IntersectRect(r, rActor, imgObject.BoundsRect);
end;
Ist range 0, dann muss mindestens eine Berührung statt finden. Mit range = 10 reicht eine Annäherung auf 10 Pixel. Etwas unrealistisch ist der Ansatz, weil die Images rechteckig sind, aber sind die Images klein, dann ist das sicher in Ordnung. Bei größeren Images wird man wohl besser mit Region anstelle von Rect arbeiten.

Freundliche Grüße vom marabu

Doomguard 6. Apr 2006 20:13

Re: Image Keydown Problem
 
Danke für deine schnelle Antwort ! :hello:

Hat mir geholfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.

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