AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Image Keydown Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Image Keydown Problem

Ein Thema von Doomguard · begonnen am 6. Apr 2006 · letzter Beitrag vom 6. Apr 2006
Antwort Antwort
Doomguard

Registriert seit: 4. Apr 2006
11 Beiträge
 
Turbo Delphi für Win32
 
#1

Image Keydown Problem

  Alt 6. Apr 2006, 00:18
Hi habe da ein Problem ...

...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 :

 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 ?
Das Leben ist dumm, die Grafik geil !! (-:
  Mit Zitat antworten Zitat
6. Apr 2006, 00:20
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

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Image Keydown Problem

  Alt 6. Apr 2006, 07:44
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
  Mit Zitat antworten Zitat
Doomguard

Registriert seit: 4. Apr 2006
11 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Image Keydown Problem

  Alt 6. Apr 2006, 21:13
Danke für deine schnelle Antwort !

Hat mir geholfen.
Das Leben ist dumm, die Grafik geil !! (-:
  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 23:35 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