छवि और रंगरूट की एक छवि के शीर्ष पर नहीं हैं, वे एक-दूसरे में स्थानांतरित कर रहे हैं. क्या गलत है

0

सवाल

जब मैं छवि को आकर्षित और भूपिन्दर 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)

हालांकि, अगर आप चाहते हैं आकर्षित करने के लिए एक घुमाया आयत, देख रही घुमाया रंगरूट के घुमाया छवि में Pygame.

2021-11-23 05:24:46

लेकिन मैं का उपयोग नहीं कर सकते new_auto_rect के लिए टकराव का पता चला । क्या कर सकते हैं मैं इसे संभाल?
Joachim

क्यों नहीं कर सकते आप इसे उपयोग के लिए टक्कर का पता लगाने?
Rabbid76

क्यों नहीं कर सकते आप इसे उपयोग के लिए टक्कर का पता लगाने? आप स्टोर कर सकते हैं new_auto_rect में self.rect. self.rect = new_auto_rect. या क्या आप के लिए खोज PyGame के साथ टकराव मास्क?
Rabbid76

मैं सेट ऑटो.रंगरूट = new_auto_rect. लेकिन छवि पर चलाने के लिए स्क्रीन. मुझे लगता है कि मैं केंद्र के लिए की जरूरत है? जहां? अगर यह काम करता है मैं का उपयोग करना चाहते हैं हिट = pygame.प्रेत.spritecollide( ऑटो, भूमि, झूठी, pygame.प्रेत.collide_mask)
Joachim

@जोआचिम कोई आप की जरूरत नहीं करने के लिए केंद्र । यह केंद्रित है. यह प्रयोग किया जाता है आकर्षित करने के लिए एक आयत स्क्रीन पर. वहाँ कुछ गड़बड़ है अपने कोड में. मैं सुझाव है कि करने के लिए एक नया प्रश्न पूछें.
Rabbid76

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में