AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas Color-Collision

Ein Thema von raysto · begonnen am 16. Apr 2013 · letzter Beitrag vom 16. Apr 2013
Antwort Antwort
raysto

Registriert seit: 6. Nov 2010
62 Beiträge
 
#1

Canvas Color-Collision

  Alt 16. Apr 2013, 20:02
Hallo,
ich habe grade ein neues Projekt erstellt und habe mir ein Image erstellt (Player) und wollte direkt mal eine Kollision ausprobieren die ich woanders schonmal genauso gesehen habe:
Delphi-Quellcode:
  if (Player.Canvas.Pixels[Player.Left,Player.Top] = clblack) then
  begin
    showmessage('Bla');
  end;
Diese Abfrage ist in einem Timer und nebenbei lasse ich den Player immer 2 Pixel runterbewegen. Wenn mein Bild dann in ein riesiges schwarzes Feld kommt, passiert einfach nichts... Kann mir da jemand sagen warum?

Geändert von raysto (16. Apr 2013 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: Canvas Color-Collision

  Alt 16. Apr 2013, 20:08
Du fragst ab, ob die Zeichenfläche des Players an seinen eigenen Koordinaten weiß ist. Solange Du seine Farbe nicht während der Bewegung änderst, dürfte diese Bedingung niemals zutreffen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
raysto

Registriert seit: 6. Nov 2010
62 Beiträge
 
#3

AW: Canvas Color-Collision

  Alt 16. Apr 2013, 20:11
Meinte in der Bedinung eigentlich clblack sorry Aber ich weiß nicht ganz was du meinst...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#4

AW: Canvas Color-Collision

  Alt 16. Apr 2013, 20:18
Ich meine, Du greifst auf den falschen Canvas zu, für Deine Logik müsste man ja den der Komponente, auf der der Player bewegt wird, abfragen. Evtl. wäre es ohnehin besser, keine Pixel mit einer Farbe zu vergleichen, sondern sich Rechtecke oder andere Formen zu merken und auf Überschneidung zu prüfen (z.B. mit IntersectRect).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
raysto

Registriert seit: 6. Nov 2010
62 Beiträge
 
#5

AW: Canvas Color-Collision

  Alt 16. Apr 2013, 20:22
Oh ja, hab jetzt meinen Fehler entdeckt Und ja, wahrscheinlich werde ich die Kollision eh nochmal komplett umbauen, aber danke für die Hilfe
  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 07:53 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