![]() |
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:
Nun so kann ich aber nur das "Image" einsammeln, wenn beide Images auf der selben Position sind.
if (image4.top=image2.Top) and (image4.left=image2.Left) then
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
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. ;) |
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:
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.
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; Freundliche Grüße vom marabu |
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