Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage: Andorra 2D OnClick mit Sprite (https://www.delphipraxis.net/111266-frage-andorra-2d-onclick-mit-sprite.html)

SemmelRoth 1. Apr 2008 12:38


Frage: Andorra 2D OnClick mit Sprite
 
hi Leute ich hab mal wieder ne Frage:

Also ich hab eine TImageSprite Klasse gemacht und auch schon ein paar davon auf den Bildschirm gezaubert und jetzt will ich das wenn man drauf Klickt der halt ausgewählt wird... also das ich dann auf die Werte des jeweiligen Sprites zugreifen kann.

Es ist halt so das ich mehrere habe und da gibts ja bestimmt was

mfg Robin

igel457 1. Apr 2008 13:11

Re: Frage: Andorra 2D OnClick mit Sprite
 
SpriteEngine.GetSpriteAt(X,Y);

SemmelRoth 1. Apr 2008 14:48

Re: Frage: Andorra 2D OnClick mit Sprite
 
hm... die funktion sieht ja ganz toll aus... und auch danke für die schnelle Antwort, aber ich bin nen Anfänger und ich kenn mich nich so mit den Maus Eigenschaften und so aus also guck mal:

du hattest mir ja jetzt die Funktion gegeben (ich hab auch gesehen das TSprite zurück gegeben wird...) :
SpriteEngine.GetSpriteAt(X,Y);

für X und Y muss ich doch die X und Y Kordinaten der Maus eintragen (oder?)
nur wie Ruf ich das ganze dann auf?
also ich Will einen Wert später ändern und die Y und X Kordinaten auslesen um noch einen anderen Sprite dahin zumachen (ne umrahmung)
das war mein ansatz:
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if button=mbleft then
    begin
        with AdSpriteEngine.GetSpriteAt(mouse.CursorPos.X,mouse.CursorPos.Y) do begin
          xx:=X;
          yy:=Y;
          end;
        with TWall.Create(AdSpriteEngine) do
        begin
          Image := AdImageList1.Find('brick_auswahl');
          X:=xx;
          Y:=yy;
          end;
        end;
end;

Looper 1. Apr 2008 15:05

Re: Frage: Andorra 2D OnClick mit Sprite
 
Der Rahmen kann doch auch einfach eine Instanz von TAdImage sein. Du überprüfst ob da wo der Benutzer hingeklickt hat ein Sprite unterliegt
Delphi-Quellcode:
if (GetSpriteAt(ScreenToClient(Mouse.CursorPos).X, ScreenToClient(Mouse.CursorPos).Y)<>nil) then
begin
  AdImage.X := GetSpriteAt(ScreenToClient(Mouse.CursorPos).X, ScreenToClient(Mouse.CursorPos).Y).X - 10; //den Wert musst du richtig einstellen
AdImage.Y := GetSpriteAt(ScreenToClient(Mouse.CursorPos).X, ScreenToClient(Mouse.CursorPos).Y).Y - 10; //den Wert musst du richtig einstellen
//du musst nur noch den Rahmen vor der AdSpriteEngine zeichnen ;)

end;
Hoffe das ist einigermaßen verständlich.

mfg Looper

SemmelRoth 1. Apr 2008 15:33

Re: Frage: Andorra 2D OnClick mit Sprite
 
hm eig hab ich so gesehen nichts verstanden^^
1. wie kann ich denn den Rahmen vorher zeichnen also welcher code wohin? (^^)

und es geht nich iwie mit with Sprite oder so?
weil ich muss mehrere Werte verändern/einlesen

Looper 1. Apr 2008 16:23

Re: Frage: Andorra 2D OnClick mit Sprite
 
1. es geht auch mit den Sprites
2. das ist komplizierter, jedenfalls nicht ganz so leicht zu erklären

Was für Werte speicherst du denn ab und wie?

mfg Looper

SemmelRoth 1. Apr 2008 19:16

Re: Frage: Andorra 2D OnClick mit Sprite
 
Liste der Anhänge anzeigen (Anzahl: 1)
so also ich habs immer noch nicht raus und lade jetzt mal alles hoch...
Also das Spiel ist auch dabei aber wie oben ja steht geht es um den Map Editor (im Ordner "Mapeditor")
Ich hab versuch beim Mapeditor ein paar Sachen zu erklären und immer Kommentare dazu geschrieben


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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