Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

NuGuN

[pygame] Alterar o eixo de rotação da imagem

Mensagens Recomendadas

NuGuN

Boas!

O meu problema é o seguinte... Preciso rodar uma imagem e para isso comecei por utilizar algo deste genero:

...
self.image = pygame.transform.rotate(self.baseImage, -self.direction.angle)
...
self.imageW, self.imageH = self.image.get_size()
...
drawPosition = self.image.get_rect().move(self.position.x - self.imageW / 2, self.position.y - self.imageH / 2)
self.screen.blit(self.image, drawPosition)

Esse código funciona, mas, roda a imagem em torno do seu proprio eixo. Agora imaginando que eu quero roda por exemplo a torre de um tanque de guerra... o ponto que eu quero que sirva para eixo de rotação não é o centro da imagem mas sim um bocado mais atraz...

Imaginando que isto é uma torre, onde o X é a 'cabeça' da torre, os '-' são o cano e o '|' é o eixo de rotação.

Com esse código que eu tenho, o esquema seria algo deste genero:

X-------

    |

E eu queria algo deste genero

X-------

|

Algém me consegue dizer como posso fazer isto?

Cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chuckytuh

eu de python nada sei mas vendo

drawPosition = self.image.get_rect().move(self.position.x - self.imageW / 2, self.position.y - self.imageH / 2)

algo me diz que deves mudar ai os parametros para a funçao move, nao?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.