ภาพและ rect ของภาพไม่ได้อยู่บนสุดของแต่ละคนอื่นพวกเขาเริ่มต้นขึ้น มันคืออะไรผิด

0

คำถาม

ตอนที่ฉันวาดภาพและ rect Wof ภาพแล้วก็ซ้ายบนมุมของสี่เหลี่ยมคือสิ่งที่อยู่ในศูนย์กลางของภาพได้ที่นี่

def blitRotateCenter(image, left, top, angle):
    rotated_image = pygame.transform.rotate(image, angle)
    new_rect = rotated_image.get_rect(center = image.get_rect(center = (left, top)).center)
    screen.blit(rotated_image, new_rect)
self.image = pygame.image.load("Bilder/car.png")   
self.rect = self.image.get_rect()
    
blitRotateCenter(auto.image, auto.rect.x, auto.rect.y, auto.wagen_winkel)
draw.rect(screen,red,auto.rect)
pygame python
2021-11-22 07:36:57
1

คำตอบที่ดีที่สุด

1

แค่กลับมา new_rect จาก blitRotateCenter และใช้มันเพื่อวาดสี่เหลี่ยม:

def blitRotateCenter(image, left, top, angle):
    rotated_image = pygame.transform.rotate(image, angle)
    new_rect = rotated_image.get_rect(center = image.get_rect(center = (left, top)).center)
    screen.blit(rotated_image, new_rect)
    return new_rect
new_auto_rect = blitRotateCenter(auto.image, auto.rect.x, auto.rect.y, auto.wagen_winkel)
draw.rect(screen,red, new_auto_rect)

อย่างไรก็ตามถ้าคุณอยากจะวาดหมุนสี่เหลี่ยม,เห็น ได้หมุน rect ของหมุนรูปภาพใน Pygame.

2021-11-23 05:24:46

แต่ฉันไม่สามารถใช้ new_auto_rect สำหรับอุบัติเหตุรถชนตรวจสอบพบ.มีอะไรให้ฉันจัดการมัน?
Joachim

ทำไมคุณไม่สามารถใช้มันสำหรับการตรวจสอบอุบัติเหตุรถชน?
Rabbid76

ทำไมคุณไม่สามารถใช้มันสำหรับการตรวจสอบอุบัติเหตุรถชน? คุณสามารถจะจัดเก็บ new_auto_rect ใน self.rect. self.rect = new_auto_rect. หรือคุณค้นหา PyGame อุบัติเหตุรถชนกับหน้ากาก?
Rabbid76

ฉันตั้งค่าโดยอัตโนมัติ.rect=new_auto_rect. แต่ห้องภาพไปจองจอภาพด้วย ฉันคิดว่าฉันต้องการให้ศูนย์กลางมัน? ที่ไหน? ถ้ามันได้ผลผมต้องการใช้โด=pygame.sprite.spritecollide(โดยอัตโนมัติ,แผ่นดินผิ pygame.sprite.collide_mask)
Joachim

@Joachim ไม่คุณไม่ต้องการให้ศูนย์กลางมัน มันคือจัดกึ่งกลาง. มันเป็นเคยต้องสี่เหลี่ยมบนหน้าจอ Theres อะไรบางอย่างทำเรื่องยุ่ในนรหัสของพ่อ ผมขอแนะนำให้ไปถามคนใหม่คำถาม
Rabbid76

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่