Re: [pygame] sprite 'weird' rotation

2009-07-20 Thread Paulo Silva
loved that example! thank you! it recalls me childhood wooden toys! awesome! :)
sent this link to http://identi.ca/group/pygame as well


On 7/20/09, DR0ID  wrote:
> hi
>
> Maybe that helps you: http://arainyday.se/projects/python/JumpingJack/
>
> Look in the archives, this has been asked before.
>
> ~DR0ID
>
> Paulo Silva schrieb:
>> ok, understood! and thanks about the fixing from the attachment! :)
>>
>> On 7/20/09, Michael George  wrote:
>>
>>> Note that you would need rotate_point or something similar if you want
>>> to rotate around a point that's not the center.
>>>
>>> Michael George wrote:
>>>
 Oops, I made a type.  See attached

 Michael George wrote:

> Actually, after looking more closely, rotate_point wasn't what you
> needed.  The problem was because when you rotate the image, the
> output is still an upright rectangle, and you were placing (the upper
> left corner of) that rectangle in the same place.  If you place the
> center instead, it works out.  See the attached file for the fixed
> version.
>
> --Mike
>
> Paulo Silva wrote:
>
>> thanks!
>>
>> but btw, i tried to apply it, and the result got more weird - not only
>> i can't move the sprites independently, as the rotations got much more
>> weird
>>
>> http://pastebin.com/f733ebf04
>>
>> (anyway, i'm still newbie on Pygame, and i still struggle a lot about
>> how Python deals with variables, arrays, lists, and methods )
>>
>> if someone know how to fix it, be welcome on editing that, and sharing
>> us the resulting pastebin url - thanks a lot in advance! :)
>>
>>
>>
>> On 7/19/09, Michael George  wrote:
>>
>>
>>> You can use a function from my game:
>>>
>>> http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup
>>>
>>>
>>>
>>> see the rotate_point function
>>>
>>> --Mike
>>>
>>> Paulo Silva wrote:
>>>
>>>
 hi,

 i confess it seems a bad handle from me about sprite rotation on
 Pygame - do someone know better how we can handle it better, making
 them rotating its center?

 http://pastebin.com/f53335b66

 thanks!



>>>
>>
>>
>


Re: [pygame] sprite 'weird' rotation

2009-07-20 Thread DR0ID

hi

Maybe that helps you: http://arainyday.se/projects/python/JumpingJack/

Look in the archives, this has been asked before.

~DR0ID

Paulo Silva schrieb:

ok, understood! and thanks about the fixing from the attachment! :)

On 7/20/09, Michael George  wrote:
  

Note that you would need rotate_point or something similar if you want
to rotate around a point that's not the center.

Michael George wrote:


Oops, I made a type.  See attached

Michael George wrote:
  

Actually, after looking more closely, rotate_point wasn't what you
needed.  The problem was because when you rotate the image, the
output is still an upright rectangle, and you were placing (the upper
left corner of) that rectangle in the same place.  If you place the
center instead, it works out.  See the attached file for the fixed
version.

--Mike

Paulo Silva wrote:


thanks!

but btw, i tried to apply it, and the result got more weird - not only
i can't move the sprites independently, as the rotations got much more
weird

http://pastebin.com/f733ebf04

(anyway, i'm still newbie on Pygame, and i still struggle a lot about
how Python deals with variables, arrays, lists, and methods )

if someone know how to fix it, be welcome on editing that, and sharing
us the resulting pastebin url - thanks a lot in advance! :)



On 7/19/09, Michael George  wrote:

  

You can use a function from my game:

http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup



see the rotate_point function

--Mike

Paulo Silva wrote:



hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!


  



  


Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Paulo Silva
ok, understood! and thanks about the fixing from the attachment! :)

On 7/20/09, Michael George  wrote:
> Note that you would need rotate_point or something similar if you want
> to rotate around a point that's not the center.
>
> Michael George wrote:
>> Oops, I made a type.  See attached
>>
>> Michael George wrote:
>>> Actually, after looking more closely, rotate_point wasn't what you
>>> needed.  The problem was because when you rotate the image, the
>>> output is still an upright rectangle, and you were placing (the upper
>>> left corner of) that rectangle in the same place.  If you place the
>>> center instead, it works out.  See the attached file for the fixed
>>> version.
>>>
>>> --Mike
>>>
>>> Paulo Silva wrote:
 thanks!

 but btw, i tried to apply it, and the result got more weird - not only
 i can't move the sprites independently, as the rotations got much more
 weird

 http://pastebin.com/f733ebf04

 (anyway, i'm still newbie on Pygame, and i still struggle a lot about
 how Python deals with variables, arrays, lists, and methods )

 if someone know how to fix it, be welcome on editing that, and sharing
 us the resulting pastebin url - thanks a lot in advance! :)



 On 7/19/09, Michael George  wrote:

> You can use a function from my game:
>
> http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup
>
>
>
> see the rotate_point function
>
> --Mike
>
> Paulo Silva wrote:
>
>> hi,
>>
>> i confess it seems a bad handle from me about sprite rotation on
>> Pygame - do someone know better how we can handle it better, making
>> them rotating its center?
>>
>> http://pastebin.com/f53335b66
>>
>> thanks!
>>
>>
>
>>>
>>
>
>


Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Michael George
Note that you would need rotate_point or something similar if you want 
to rotate around a point that's not the center.


Michael George wrote:

Oops, I made a type.  See attached

Michael George wrote:
Actually, after looking more closely, rotate_point wasn't what you 
needed.  The problem was because when you rotate the image, the 
output is still an upright rectangle, and you were placing (the upper 
left corner of) that rectangle in the same place.  If you place the 
center instead, it works out.  See the attached file for the fixed 
version.


--Mike

Paulo Silva wrote:

thanks!

but btw, i tried to apply it, and the result got more weird - not only
i can't move the sprites independently, as the rotations got much more
weird

http://pastebin.com/f733ebf04

(anyway, i'm still newbie on Pygame, and i still struggle a lot about
how Python deals with variables, arrays, lists, and methods )

if someone know how to fix it, be welcome on editing that, and sharing
us the resulting pastebin url - thanks a lot in advance! :)



On 7/19/09, Michael George  wrote:
 

You can use a function from my game:

http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup 



see the rotate_point function

--Mike

Paulo Silva wrote:
  

hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!

  









Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Michael George

Oops, I made a type.  See attached

Michael George wrote:
Actually, after looking more closely, rotate_point wasn't what you 
needed.  The problem was because when you rotate the image, the output 
is still an upright rectangle, and you were placing (the upper left 
corner of) that rectangle in the same place.  If you place the center 
instead, it works out.  See the attached file for the fixed version.


--Mike

Paulo Silva wrote:

thanks!

but btw, i tried to apply it, and the result got more weird - not only
i can't move the sprites independently, as the rotations got much more
weird

http://pastebin.com/f733ebf04

(anyway, i'm still newbie on Pygame, and i still struggle a lot about
how Python deals with variables, arrays, lists, and methods )

if someone know how to fix it, be welcome on editing that, and sharing
us the resulting pastebin url - thanks a lot in advance! :)



On 7/19/09, Michael George  wrote:
 

You can use a function from my game:

http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup 



see the rotate_point function

--Mike

Paulo Silva wrote:
   

hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!

  





#! /usr/bin/python
# using sprites_rgba.png from http://img17.imageshack.us/img17/3166/spritesrgba.png
import sys, pygame, math, os, random
from pygame.locals import *
pygame.init()
size=width,height=960,240;screen=pygame.display.set_mode(size);pygame.display.set_caption("multiplayer sprite test with collisions")

spd=4;amnt=4;ampl=8;xpos=[0]*amnt;ypos=[0]*amnt;rotv=[0]*amnt;sprid=[];spridr=[]   #some arrays and variables
for i in range (0,amnt,1):
  xpos[i]=64+(128*i)+random.randint(0,32);ypos[i]=64+random.randint(0,32);rotv[i]=random.randint(0,359)

sprall=pygame.image.load("sprites_rgba.png")  #loading sprites
for i in range (0,4,1):
  spritetmp=sprall.subsurface(i*64,0,64,64);spriterecttmp=spritetmp.get_rect()
  sprid.append(spritetmp);spridr.append(spriterecttmp)

rotincr=5

while 1:
  key=pygame.key.get_pressed()  #checking pressed keys
  if key[pygame.K_a]:xpos[0]-=spd
  if key[pygame.K_d]:xpos[0]+=spd
  if key[pygame.K_w]:ypos[0]-=spd
  if key[pygame.K_s]:ypos[0]+=spd
  if key[pygame.K_z]:rotv[0]+=rotincr
  if key[pygame.K_x]:rotv[0]-=rotincr

  if key[pygame.K_f]:xpos[1]-=spd
  if key[pygame.K_h]:xpos[1]+=spd
  if key[pygame.K_t]:ypos[1]-=spd
  if key[pygame.K_g]:ypos[1]+=spd
  if key[pygame.K_v]:rotv[1]+=rotincr
  if key[pygame.K_b]:rotv[1]-=rotincr

  if key[pygame.K_j]:xpos[2]-=spd
  if key[pygame.K_l]:xpos[2]+=spd
  if key[pygame.K_i]:ypos[2]-=spd
  if key[pygame.K_k]:ypos[2]+=spd
  if key[pygame.K_m]:rotv[2]+=rotincr
  if key[pygame.K_COMMA]:rotv[2]-=rotincr

  if key[pygame.K_LEFT]: xpos[3]-=spd
  if key[pygame.K_RIGHT]:xpos[3]+=spd
  if key[pygame.K_UP]:   ypos[3]-=spd
  if key[pygame.K_DOWN]: ypos[3]+=spd
  if key[pygame.K_KP0]:  rotv[3]+=rotincr
  if key[pygame.K_KP_PERIOD]:rotv[3]-=rotincr

  bgcolour=0x998877#checking collisions
  if spridr[0].colliderect(spridr[1]):bgcolour=0xAA
  if spridr[0].colliderect(spridr[2]):bgcolour=0x55AA55
  if spridr[0].colliderect(spridr[3]):bgcolour=0xAA
  if spridr[1].colliderect(spridr[2]):bgcolour=0x55
  if spridr[1].colliderect(spridr[3]):bgcolour=0xAA55AA
  if spridr[2].colliderect(spridr[3]):bgcolour=0x55
  screen.fill(bgcolour)

  for i in range (0,amnt,1):#displaying sprites
spridr[i].centerx=xpos[i]
spridr[i].centery=ypos[i]

#tmq=pygame.transform.rotate(sprid[i],rotv[i])  # <- rotate behaviour looks weird - center of rotation is not kept (...?)
#screen.blit(tmq,spridr[i])

tmq=pygame.transform.rotate(sprid[i],rotv[i])
rect = tmq.get_rect()
rect.center =  (xpos[i], ypos[i])
screen.blit(tmq,rect)

  for event in pygame.event.get():  #praxis stuff
if event.type==pygame.QUIT:sys.exit()
  pygame.display.flip();pygame.time.delay(1000/50)


Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Michael George
Actually, after looking more closely, rotate_point wasn't what you 
needed.  The problem was because when you rotate the image, the output 
is still an upright rectangle, and you were placing (the upper left 
corner of) that rectangle in the same place.  If you place the center 
instead, it works out.  See the attached file for the fixed version.


--Mike

Paulo Silva wrote:

thanks!

but btw, i tried to apply it, and the result got more weird - not only
i can't move the sprites independently, as the rotations got much more
weird

http://pastebin.com/f733ebf04

(anyway, i'm still newbie on Pygame, and i still struggle a lot about
how Python deals with variables, arrays, lists, and methods )

if someone know how to fix it, be welcome on editing that, and sharing
us the resulting pastebin url - thanks a lot in advance! :)



On 7/19/09, Michael George  wrote:
  

You can use a function from my game:

http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup

see the rotate_point function

--Mike

Paulo Silva wrote:


hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!

  



#! /usr/bin/python
# using sprites_rgba.png from http://img17.imageshack.us/img17/3166/spritesrgba.png
import sys, pygame, math, os, random
from pygame.locals import *
pygame.init()
size=width,height=960,240;screen=pygame.display.set_mode(size);pygame.display.set_caption("multiplayer sprite test with collisions")

spd=4;amnt=4;ampl=8;xpos=[0]*amnt;ypos=[0]*amnt;rotv=[0]*amnt;sprid=[];spridr=[]   #some arrays and variables
for i in range (0,amnt,1):
  xpos[i]=64+(128*i)+random.randint(0,32);ypos[i]=64+random.randint(0,32);rotv[i]=random.randint(0,359)

sprall=pygame.image.load("sprites_rgba.png")  #loading sprites
for i in range (0,4,1):
  spritetmp=sprall.subsurface(i*64,0,64,64);spriterecttmp=spritetmp.get_rect()
  sprid.append(spritetmp);spridr.append(spriterecttmp)

rotincr=5

while 1:
  key=pygame.key.get_pressed()  #checking pressed keys
  if key[pygame.K_a]:xpos[0]-=spd
  if key[pygame.K_d]:xpos[0]+=spd
  if key[pygame.K_w]:ypos[0]-=spd
  if key[pygame.K_s]:ypos[0]+=spd
  if key[pygame.K_z]:rotv[0]+=rotincr
  if key[pygame.K_x]:rotv[0]-=rotincr

  if key[pygame.K_f]:xpos[1]-=spd
  if key[pygame.K_h]:xpos[1]+=spd
  if key[pygame.K_t]:ypos[1]-=spd
  if key[pygame.K_g]:ypos[1]+=spd
  if key[pygame.K_v]:rotv[1]+=rotincr
  if key[pygame.K_b]:rotv[1]-=rotincr

  if key[pygame.K_j]:xpos[2]-=spd
  if key[pygame.K_l]:xpos[2]+=spd
  if key[pygame.K_i]:ypos[2]-=spd
  if key[pygame.K_k]:ypos[2]+=spd
  if key[pygame.K_m]:rotv[2]+=rotincr
  if key[pygame.K_COMMA]:rotv[2]-=rotincr

  if key[pygame.K_LEFT]: xpos[3]-=spd
  if key[pygame.K_RIGHT]:xpos[3]+=spd
  if key[pygame.K_UP]:   ypos[3]-=spd
  if key[pygame.K_DOWN]: ypos[3]+=spd
  if key[pygame.K_KP0]:  rotv[3]+=rotincr
  if key[pygame.K_KP_PERIOD]:rotv[3]-=rotincr

  bgcolour=0x998877#checking collisions
  if spridr[0].colliderect(spridr[1]):bgcolour=0xAA
  if spridr[0].colliderect(spridr[2]):bgcolour=0x55AA55
  if spridr[0].colliderect(spridr[3]):bgcolour=0xAA
  if spridr[1].colliderect(spridr[2]):bgcolour=0x55
  if spridr[1].colliderect(spridr[3]):bgcolour=0xAA55AA
  if spridr[2].colliderect(spridr[3]):bgcolour=0x55
  screen.fill(bgcolour)

  for i in range (0,amnt,1):#displaying sprites
spridr[i].centerx=xpos[i]
spridr[i].centery=ypos[i]

#tmq=pygame.transform.rotate(sprid[i],rotv[i])  # <- rotate behaviour looks weird - center of rotation is not kept (...?)
#screen.blit(tmq,spridr[i])

tmq=pygame.transform.rotate(sprid[i],rotv[i])
rect = tmq.get_rect()
rect.center =  (xpos[1], ypos[i])
screen.blit(tmq,rect)

  for event in pygame.event.get():  #praxis stuff
if event.type==pygame.QUIT:sys.exit()
  pygame.display.flip();pygame.time.delay(1000/50)


Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Paulo Silva
thanks!

but btw, i tried to apply it, and the result got more weird - not only
i can't move the sprites independently, as the rotations got much more
weird

http://pastebin.com/f733ebf04

(anyway, i'm still newbie on Pygame, and i still struggle a lot about
how Python deals with variables, arrays, lists, and methods )

if someone know how to fix it, be welcome on editing that, and sharing
us the resulting pastebin url - thanks a lot in advance! :)



On 7/19/09, Michael George  wrote:
> You can use a function from my game:
>
> http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup
>
> see the rotate_point function
>
> --Mike
>
> Paulo Silva wrote:
>> hi,
>>
>> i confess it seems a bad handle from me about sprite rotation on
>> Pygame - do someone know better how we can handle it better, making
>> them rotating its center?
>>
>> http://pastebin.com/f53335b66
>>
>> thanks!
>>
>
>


Re: [pygame] sprite 'weird' rotation

2009-07-19 Thread Michael George

You can use a function from my game:

http://pen.svn.sourceforge.net/viewvc/pen/data/parts/cannon.py?revision=31&view=markup

see the rotate_point function

--Mike

Paulo Silva wrote:

hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!
  




[pygame] sprite 'weird' rotation

2009-07-19 Thread Paulo Silva
hi,

i confess it seems a bad handle from me about sprite rotation on
Pygame - do someone know better how we can handle it better, making
them rotating its center?

http://pastebin.com/f53335b66

thanks!