Selamünaleyküm
Python da Pygame kullanarak bir proje yapıyorum. Karakterim sol üstteki skor yazısına gelince durmasını istiyorum. birçok farklı yöntem denedim olmadı. skor yazısına rect ile sınır çizdim. Karakterime de rect ile sınır çizdim. bunları colliderect ile temas edince koordinatı azaltma gibi farklı yöntemler denedim olmadı. Yardım edebilir misiniz ?.
Bu da kodum
import sys
import pygame
import random
import os
os.chdir("konum")
pygame.init()
genislik = 1000
yukseklik = 600
ekran = pygame.display.set_mode((genislik,yukseklik))
kus = pygame.image.load("kus.png")
kus_koordinat = kus.get_rect()
kus_koordinat.topleft = (genislik/2,yukseklik/2)
mangir = pygame.image.load("dollar.png")
mangir_koordinat = mangir.get_rect()
mangir_koordinat.topleft = (random.randint(0,yukseklik-64),random.randint(0,genislik-64))
font = pygame.font.SysFont("Comic Sans MS",64)
hiz = 15
fps = 60
skor = 0
clock = pygame.time.Clock()
aktiflik = True
while aktiflik:
for i in pygame.event.get():
if i.type == pygame.QUIT:
sys.exit()
pygame.draw.rect(ekran , (131,131,131),kus_koordinat,3)
pygame.draw.rect(ekran , (131,131,131),mangir_koordinat,3)
if kus_koordinat.colliderect(mangir_koordinat):
mangir_koordinat.x = random.randint(0,genislik-64)
mangir_koordinat.y = random.randint(0,yukseklik-64)
skor += 10
yazi = font.render("Skor : " + str(skor),True , (95,13,13))
yazi_koordinat = yazi.get_rect()
yazi_koordinat.topleft= (15,15)
yaziline = pygame.draw.rect(ekran,(131,131,131),yazi_koordinat,3)
tus = pygame.key.get_pressed()
if tus[pygame.K_LEFT] and kus_koordinat.left > 0 :
kus_koordinat.x -= hiz
if tus[pygame.K_RIGHT] and kus_koordinat.right < genislik-10:
kus_koordinat.x += hiz
if tus[pygame.K_UP] and kus_koordinat.top > 0:
kus_koordinat.y -= hiz
if tus[pygame.K_DOWN] and kus_koordinat.bottom < yukseklik-10 :
kus_koordinat.y += hiz
ekran.fill((131,131,131))
ekran.blit(kus,kus_koordinat)
ekran.blit(mangir,mangir_koordinat)
ekran.blit(yazi,yazi_koordinat)
clock.tick(fps)
ysuankiKoordinat = kus_koordinat.y
xsuankikoordinat = kus_koordinat.x
print(xsuankikoordinat)
pygame.display.update()
pygame.quit()