check if pixel point is in room
This commit is contained in:
+18
@@ -141,6 +141,24 @@ class Map:
|
|||||||
# blit() fixiert den Text auf dem Bildschirm
|
# blit() fixiert den Text auf dem Bildschirm
|
||||||
surface.blit(font.render(text, True, color_text), (px, py))
|
surface.blit(font.render(text, True, color_text), (px, py))
|
||||||
|
|
||||||
|
# Gibt ein Raum Rechteck zurück - zum Prüfen, ob eine gegebene Position im Raum ist
|
||||||
|
def get_room_rect(self, column: int, row: int):
|
||||||
|
# rechnet Tile Koordinaten in Pixel um
|
||||||
|
pixel_x = column * tile_size
|
||||||
|
pixel_y = row * tile_size
|
||||||
|
|
||||||
|
for room_rect in self.rooms.values():
|
||||||
|
|
||||||
|
# collidepoint prüft ob der Pixel-Punkt im Rechteck ist
|
||||||
|
if room_rect.collidepoint(pixel_x, pixel_y):
|
||||||
|
return room_rect
|
||||||
|
|
||||||
|
# return None, wenn Punkt in keinem Raum liegt (z.B. im Gang)
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user