JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=df0b533f6375d1486da639333e351569Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Pixelgenaue Trefferüberprüfung
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Rodney
Junior JLI'ler



Anmeldedatum: 24.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 18.11.2003, 16:13    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
Na dann ziehst du eben noch von den Mauskoordinaten die Koordinaten, an denen das Surface auf den Bildschirm geblittet wird, ab und kannst dann mit der "neuen" Mausposition und dem Surface berechnen, auf welchem Pixel des Surfaces die Maus liegt Wink


Rolling Eyes Da hätt ich auch drauf kommen können^^

Aber wie prüfe ich ob dieser Pixel beispielsweise die Farbe RGB(50,50,50) hat?

DANKE IM VORRAUS, Rodney
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rodney
Junior JLI'ler



Anmeldedatum: 24.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 18.11.2003, 21:06    Titel: Antworten mit Zitat

kann mir keiner die funktion sage mit der ich die farbe eines pixels abfragen kann???

IST ECHT WICHTIG!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 18.11.2003, 21:41    Titel: Antworten mit Zitat

Mit == ?
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rodney
Junior JLI'ler



Anmeldedatum: 24.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 18.11.2003, 21:58    Titel: Antworten mit Zitat

also so:

if (lpSurface[x*pitch+y] == RGB(100,100,100)

so???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 19.11.2003, 15:53    Titel: Antworten mit Zitat

Kommt drauf an in welchem Farbmodus du arbeitest. Im 1. Buch steht drin, wie man ein RGB-Tripel in die richtige Farbauflösung umrechnet... ich hab das Buch z.Z. nicht hier, vielleicht kann dich jemand anders auf die entsprechende Seite verweisen. Nach der Umrechnung überprüfst du den Wert, wie du es selber angegeben hast.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 19.11.2003, 17:51    Titel: Antworten mit Zitat

Das steht auf den Seiten 302 ff. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Rodney
Junior JLI'ler



Anmeldedatum: 24.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 19.11.2003, 21:11    Titel: Antworten mit Zitat

das guck ich mir jetzt mal an...

DANKE ERSTMAL
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rodney
Junior JLI'ler



Anmeldedatum: 24.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 19.11.2003, 21:13    Titel: Antworten mit Zitat

wenn ich in 32 BIT arbeite muss ich doch nichts extra berechnen oder?
Da würde doch mein Codeausschnitt von oben funzen oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Erni
Junior JLI'ler



Anmeldedatum: 29.10.2003
Beiträge: 54

Medaillen: Keine

BeitragVerfasst am: 19.11.2003, 21:54    Titel: Antworten mit Zitat

ich bin ja keine gute hilfe und schreib dir mal den code hier rein Wink . Ich weiss nur jetzt nich mehr genau welche umstände waren, wenn mausxy nicht auf der Farbe der transparenten pixel, dann objekt zerstört, richtig?Falls ja dann müsste es so gehen

Code:

   D3DLOCKED_RECT rect;
   int nPitch;
   surface->LockRect(&rect, 0,D3DLOCK_READONLY);
   nPitch = rect.Pitch / 4;
   D3DCOLOR *Pixels = (D3DCOLOR*)rect.pBits;

      if(Pixels[y * nPitch + x]!=FARBE_DEINER_TRANS_PIXS)
      {

// BUMM!!!
      }
      else
         //hast mich nicht gekriegt, weiterballern
   }

   surface->UnlockRect();


das solltest du natürlich am besten nicht frameabhängig in deiner game while prüfen lassen, dann sollte es klappen.

Ernie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum