AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra 2D] Auf "Objekt" klicken registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra 2D] Auf "Objekt" klicken registrieren

Ein Thema von napsterxx · begonnen am 6. Aug 2008 · letzter Beitrag vom 10. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

[Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 6. Aug 2008, 17:27
Moin Moin,
ich habe ein kleines 2D Spielchen, funktioniert alles prima. Es fliegen Enten über den Bildschirm und man muss diese "abschießen". Ich habe ein for schleife die überprüft ob der Mauszeiger über einer Ente ist, wenn ja dann wird die ente nicht mehr angezeigt da man sie ja "abgeschossen" hat.
Dummerweise dauert das Rechnen bei den ganzen Enten zu lang Deshalb wollte ich fragen ob es eine andere Möglichkeit gibt als dauernt die Position zu überprüfen.
Also von den enten habe ich immer folgende Daten:
X und Y-Koordinate
und die Weite und Höhe der Ente
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 6. Aug 2008, 18:26
Ich kann mir nicht vorstellen, das eine solche Kontrolle sonderlich viel Zeit in Anspruch nimmt.

Eine andere Methode: TSpriteEngine.GetSpriteAt(X, Y) liefert dir das oberste Sprite an der angegebenen Position zurück.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 7. Aug 2008, 14:58
ich verwende keine Sprite engine... sondern AdDraw. so wie im Tutorial 1.

Ich habe noch eine Frage. Meine Hühner fliegen jetzt rum, ich habe einen Baum eingebaut, die Hühner fliegen dahinter. Der baum ist etwas schief und hat clFuchsia als Transparentcolor. das blöde ist ich überprüfe ja ob meine maus über nem Huhn oder einem Objekt, in dem Fall ein Baum, ist. Wenn ich über einem Huhn bin wirds abgeschossen, ansonsten nicht, da man ja nicht durch einen Baum schießen kann. Mein Problem ist nun wenn der Baum schief ist sehe ich dsa Huhn schon dahinter wenn es aber immernoch hinter dem Rechteck des Baums ist, dieser ist ja immernoch ein Rechteck, aber nur eben wurde die farbe trasparent. Wie kann ich dsa nun rausfinden. mit einer maske oder so?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 16:14
Kommt schon -.-
Hat keiner eine Ahnung wie das mit der Transparenz geht?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 16:30
Wie du schon gesagt hast: Hinterlege eine Maske. Besonders einfach ist ein Bitmap, das du auf eine Farbtiefe von pf1Bit reduziert hast. Die Methode "TBitmap.Mask" hilft dir dabei. Für eine einzelne Überprüfung während eines Klicks reicht die Performance von "TBitmap.Canvas.Pixels" zur Abfrage der Farbe eines Pixels sogar noch aus.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 16:46
Mit Andorra? TBitmap?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 16:54
TBitmap aus der VCL. Du kannst dir natürlich aber auch selbst eine eigene Maskenklasse Programmieren.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 16:59
Ja aber ich habe doch das Huhn in einer AdImageList.
Was soll ich nun machen?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#9

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 17:12
AdImageList[0].Texture.SaveToGraphic(DeinTBitmapBitmap);
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: [Andorra 2D] Auf "Objekt" klicken registrieren

  Alt 9. Aug 2008, 17:16
Das muss ich ja immer machen wenn man klickt ... für jedes Huhn. Das ist doch ne Hammer Performanceeinbuse
Und dann muss ich noch eine Maske setzen. Und wie? UNd wenn ich das gemacht habe dann noch überprüfen ob ich über dembild bin? Uff

Also mit de Code kann ich ja eine Maske erstellen:
http://swissdelphicenter.ch/de/showcode.php?id=582

Wie finde ich raus ob meine maus darüber ist?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:47 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