AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TimageSprite und MousePosition

TimageSprite und MousePosition

Ein Thema von Haegar · begonnen am 9. Aug 2003 · letzter Beitrag vom 21. Aug 2003
Antwort Antwort
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#1

TimageSprite und MousePosition

  Alt 9. Aug 2003, 17:16
aloha,

ich wollt mal gern wissen, wie ich am besten überprüfe, ob ich mit meiner maus über einem sprite (auf Dxdraw) bin.
brauch das, damit ich beim plazieren von objekten nicht übereinander baue (das andere das sie sich schneiden aufgrund der größe mach ich auch noch).

ciao haegar
  Mit Zitat antworten Zitat
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#2

Re: TimageSprite und MousePosition

  Alt 15. Aug 2003, 21:01
Ich hatte mal ein ähnliches Problem und habs umgangen indem ich den MAuszeiger ausgeblendet hab und stattdessen ein ImageSprite genommen hab. Das hatte für mich gleich zwei Vorteile: Ich konnte Kollisionen leichter feststellen und ich konnte eigene Mauszeiger leichter einbauen.
Wars überhaupt das was du gemeint hast? (was meinst du mit übereinanderbauen)
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#3

Re: TimageSprite und MousePosition

  Alt 15. Aug 2003, 23:21
ja, die idee mit dem imagesprite (als ersatz für den mauszeiger WÄHREND des plazierens), hat nur irgendwie net geklappt, kannste mir da mal auf die sprünge helfen?
mit übereinanderbauen meine ich einfach nur, das sich die objekte nicht überschneiden sollen (is ein lvl-editor).


gruss haegar
  Mit Zitat antworten Zitat
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#4

Re: TimageSprite und MousePosition

  Alt 16. Aug 2003, 13:24
Also bei mir siehts so aus:
Delphi-Quellcode:
type
  TCursorSprite = Class(TImageSprite)
    procedure DoCollision(Sprite:TSprite; var Done:Boolean); override;
    procedure DoMove(MoveCount: Integer); override;
  end;

//...

procedure TCursorSprite.DoCollision(Sprite:TSprite;var Done:Boolean);
begin
  inherited;
  if (Sprite is TItem) and Sprite.Visible then //statt TItem die Klasse deiner Levelbausteine
   //...
end;

procedure TCursorSprite.DoMove(MoveCount: Integer);
begin
  inherited;
  Collision;
end;

procedure TForm1.DXDrawMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  MouseCursor.x := X;
  MouseCursor.y := Y;
  MouseCursor.Collision;
end;
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#5

Re: TimageSprite und MousePosition

  Alt 16. Aug 2003, 15:39
muss ich das dann irgendwie als varibale deklarieren??
oder is das bei dir:
var MouseCusor:TCursorSprite;
gruss haegar
  Mit Zitat antworten Zitat
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#6

Re: TimageSprite und MousePosition

  Alt 16. Aug 2003, 17:39
Zitat von Haegar:
oder is das bei dir:
var MouseCusor:TCursorSprite;
Ja so ähnlich siehts bei mir aus. Dann natürlich noch ein
MouseCursor := TCursorSprite.Create und mit MouseCursor.Image := DeinBild Das Bild ändern
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#7

Re: TimageSprite und MousePosition

  Alt 21. Aug 2003, 19:18
Die Methode von oben funktioniert bis jetzt einigermaßen aber sie liefert alle Kollisionen des Sprites das man als Mauszeiger benutzt (zum Bauen/Platzieren vielleicht ganz praktisch). Ich hätte bei mir jetzt aber gern die Kollision mit nur einem Punkt des Sprites eben so wie ein normaler Cursor nur auf einen Punkt reagiert. Dazu hab ich versucht Dem TCursorSprite Objekt noch ein TSprite als eigenschaft zu geben (1x1 Pixel, kein Bild) und davon die Kollisionen zu bestimmen. Die Kollisionen sind aber vollkommen an der falschen Stelle (links oberhalb der eigentlichen Kollision). Hat jemand eine Idee woran das liegen könnte oder weiß jemand wie man es besser machen kann?
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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