Pygameで回転する画像/四角形の方向をどのように変更しますか? 正と負の度数を適用しても機能しますが、ウィンドウ全体で一方向にしか回転できないようです。回転方向の変更を確実にする方法はありますか?
おそらく、回転する画像の回転を5秒ごとに変更するか、XまたはY軸に当たったときに回転の方向を変更できる場合. 以下にいくつかのコードを追加しました。
移動方向の切り替えはrect.move_ip
、速度を指定し、場所句を指定する限り、簡単に実行できるようです。残念ながら回転はそうではありません。ここでは回転するように角度を付けていますが、どうやっても回転を無効にすることはできません。
def rotate_image(self): #rotate image
orig_rect = self.image.get_rect()
rot_image = pygame.transform.rotate(self.image, self.angle)
rot_rect = orig_rect.copy()
rot_rect.center = rot_image.get_rect().center
rot_image = rot_image.subsurface(rot_rect).copy()
return rot_image
def render(self):
self.screen.fill(self.bg_color)
self.rect.move_ip(0,5) #Y axis movement at 5 px per frame
self.angle += 5 #add 5 anglewhen the rect has not hit one of the window
self.angle %= 360
if self.rect.left < 0 or self.rect.right > self.width:
self.speed[0] = -self.speed[0]
self.angle = -self.angle #tried to invert the angle
self.angle -= 5 #trying to negate the angle rotation
self.angle %= 360
self.screen.blit(self.rotate_image(),self.rect)
pygame.display.flip()
画像の回転を反転する方法を知りたいです。あなた自身の例を提供することができます。