Re: [pygame] circular movement in pygame
for plat in platforms: plat is a local variable inside loop. try to use somethink as: for idx, plat in enumerate(platforms): platforms[idx]... ... 2015-04-28 22:52 GMT+02:00 Charles Cossé : > he has r=200 so nothing to do with rounding errors > > On Tue, Apr 28, 2015 at 2:46 PM, Jeffrey Kleykamp < > jeffrey.kleyk...@gmail.com> wrote: > >> It might be a rounding issue. rect.x is always the nearest integer I >> think. It's better to store position as a float and then only round when >> drawing. >> >> On Tue, Apr 28, 2015 at 4:28 PM, Charles Cossé wrote: >> >>> Well I just spent 15 minutes looking at your code ... nothing obvious >>> jumps out, except inconsistent use of variables and representations. Let >>> me ask: Can you write a simple pygame program that makes a sprite move in a >>> circle, yourself, right now? >>> >>> On Tue, Apr 28, 2015 at 11:10 AM, Charles Cossé >>> wrote: >>> Hi, Typically x=r*cos(angle) and y=r*sin(angle) ... you've got the opposite. You'd have to post more code for anyone to help with you in/out of class problem ... Charles On Tue, Apr 28, 2015 at 6:52 AM, diliup gabadamudalige < dili...@gmail.com> wrote: > Looking at the code on this page lines 47 & 48 > > > http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py > > is there a way to do > self.rect.x +*= some value* > self.rect.y += some value > > rather than > > self.rect.x = self.radius * math.sin(self.angle) + self.center_x > self.rect.y = self.radius * math.cos(self.angle) + self.center_y > > ? > > I tired it in the code attached and strangely it works ok but only > OUTSIDE THE class. When I implement the exact code in a class it does > something weird. I can't find where I have gone wrong. > > Please help. > > Many thanks in advance. > > Diliup Gabadamudalige > > > > ** > This e-mail is confidential. It may also be legally privileged. If you > are not the intended recipient or have received it in error, please delete > it and all copies from your system and notify the sender immediately by > return e-mail. Any unauthorized reading, reproducing, printing or further > dissemination of this e-mail or its contents is strictly prohibited and > may > be unlawful. Internet communications cannot be guaranteed to be timely, > secure, error or virus-free. The sender does not accept liability for any > errors or omissions. > > ** > > >>> >> >> >> -- >> >> Jeffrey Kleykamp >> > >
Re: [pygame] circular movement in pygame
he has r=200 so nothing to do with rounding errors On Tue, Apr 28, 2015 at 2:46 PM, Jeffrey Kleykamp < jeffrey.kleyk...@gmail.com> wrote: > It might be a rounding issue. rect.x is always the nearest integer I > think. It's better to store position as a float and then only round when > drawing. > > On Tue, Apr 28, 2015 at 4:28 PM, Charles Cossé wrote: > >> Well I just spent 15 minutes looking at your code ... nothing obvious >> jumps out, except inconsistent use of variables and representations. Let >> me ask: Can you write a simple pygame program that makes a sprite move in a >> circle, yourself, right now? >> >> On Tue, Apr 28, 2015 at 11:10 AM, Charles Cossé wrote: >> >>> Hi, >>> >>> Typically x=r*cos(angle) and y=r*sin(angle) ... you've got the opposite. >>> >>> You'd have to post more code for anyone to help with you in/out of class >>> problem ... >>> >>> Charles >>> >>> On Tue, Apr 28, 2015 at 6:52 AM, diliup gabadamudalige < >>> dili...@gmail.com> wrote: >>> Looking at the code on this page lines 47 & 48 http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py is there a way to do self.rect.x +*= some value* self.rect.y += some value rather than self.rect.x = self.radius * math.sin(self.angle) + self.center_x self.rect.y = self.radius * math.cos(self.angle) + self.center_y ? I tired it in the code attached and strangely it works ok but only OUTSIDE THE class. When I implement the exact code in a class it does something weird. I can't find where I have gone wrong. Please help. Many thanks in advance. Diliup Gabadamudalige ** This e-mail is confidential. It may also be legally privileged. If you are not the intended recipient or have received it in error, please delete it and all copies from your system and notify the sender immediately by return e-mail. Any unauthorized reading, reproducing, printing or further dissemination of this e-mail or its contents is strictly prohibited and may be unlawful. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions. ** >>> >> > > > -- > > Jeffrey Kleykamp >
Re: [pygame] circular movement in pygame
It might be a rounding issue. rect.x is always the nearest integer I think. It's better to store position as a float and then only round when drawing. On Tue, Apr 28, 2015 at 4:28 PM, Charles Cossé wrote: > Well I just spent 15 minutes looking at your code ... nothing obvious > jumps out, except inconsistent use of variables and representations. Let > me ask: Can you write a simple pygame program that makes a sprite move in a > circle, yourself, right now? > > On Tue, Apr 28, 2015 at 11:10 AM, Charles Cossé wrote: > >> Hi, >> >> Typically x=r*cos(angle) and y=r*sin(angle) ... you've got the opposite. >> >> You'd have to post more code for anyone to help with you in/out of class >> problem ... >> >> Charles >> >> On Tue, Apr 28, 2015 at 6:52 AM, diliup gabadamudalige > > wrote: >> >>> Looking at the code on this page lines 47 & 48 >>> >>> >>> http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py >>> >>> is there a way to do >>> self.rect.x +*= some value* >>> self.rect.y += some value >>> >>> rather than >>> >>> self.rect.x = self.radius * math.sin(self.angle) + self.center_x >>> self.rect.y = self.radius * math.cos(self.angle) + self.center_y >>> >>> ? >>> >>> I tired it in the code attached and strangely it works ok but only >>> OUTSIDE THE class. When I implement the exact code in a class it does >>> something weird. I can't find where I have gone wrong. >>> >>> Please help. >>> >>> Many thanks in advance. >>> >>> Diliup Gabadamudalige >>> >>> >>> >>> ** >>> This e-mail is confidential. It may also be legally privileged. If you >>> are not the intended recipient or have received it in error, please delete >>> it and all copies from your system and notify the sender immediately by >>> return e-mail. Any unauthorized reading, reproducing, printing or further >>> dissemination of this e-mail or its contents is strictly prohibited and may >>> be unlawful. Internet communications cannot be guaranteed to be timely, >>> secure, error or virus-free. The sender does not accept liability for any >>> errors or omissions. >>> >>> ** >>> >>> >> > -- Jeffrey Kleykamp
Re: [pygame] circular movement in pygame
Well I just spent 15 minutes looking at your code ... nothing obvious jumps out, except inconsistent use of variables and representations. Let me ask: Can you write a simple pygame program that makes a sprite move in a circle, yourself, right now? On Tue, Apr 28, 2015 at 11:10 AM, Charles Cossé wrote: > Hi, > > Typically x=r*cos(angle) and y=r*sin(angle) ... you've got the opposite. > > You'd have to post more code for anyone to help with you in/out of class > problem ... > > Charles > > On Tue, Apr 28, 2015 at 6:52 AM, diliup gabadamudalige > wrote: > >> Looking at the code on this page lines 47 & 48 >> >> >> http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py >> >> is there a way to do >> self.rect.x +*= some value* >> self.rect.y += some value >> >> rather than >> >> self.rect.x = self.radius * math.sin(self.angle) + self.center_x >> self.rect.y = self.radius * math.cos(self.angle) + self.center_y >> >> ? >> >> I tired it in the code attached and strangely it works ok but only >> OUTSIDE THE class. When I implement the exact code in a class it does >> something weird. I can't find where I have gone wrong. >> >> Please help. >> >> Many thanks in advance. >> >> Diliup Gabadamudalige >> >> >> >> ** >> This e-mail is confidential. It may also be legally privileged. If you >> are not the intended recipient or have received it in error, please delete >> it and all copies from your system and notify the sender immediately by >> return e-mail. Any unauthorized reading, reproducing, printing or further >> dissemination of this e-mail or its contents is strictly prohibited and may >> be unlawful. Internet communications cannot be guaranteed to be timely, >> secure, error or virus-free. The sender does not accept liability for any >> errors or omissions. >> >> ** >> >> >
Re: [pygame] circular movement in pygame
If you want update coordinate, new coordinate add on old coordinate not on center rect. self.rect.x = self.radius * math.sin(self.angle) + self.rect.x self.rect.y = self.radius * math.cos(self.angle) + self.rect.y 2015-04-28 14:52 GMT+02:00 diliup gabadamudalige : > Looking at the code on this page lines 47 & 48 > > > http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py > > is there a way to do > self.rect.x +*= some value* > self.rect.y += some value > > rather than > > self.rect.x = self.radius * math.sin(self.angle) + self.center_x > self.rect.y = self.radius * math.cos(self.angle) + self.center_y > > ? > > I tired it in the code attached and strangely it works ok but only OUTSIDE > THE class. When I implement the exact code in a class it does something > weird. I can't find where I have gone wrong. > > Please help. > > Many thanks in advance. > > Diliup Gabadamudalige > > > > ** > This e-mail is confidential. It may also be legally privileged. If you are > not the intended recipient or have received it in error, please delete it > and all copies from your system and notify the sender immediately by return > e-mail. Any unauthorized reading, reproducing, printing or further > dissemination of this e-mail or its contents is strictly prohibited and may > be unlawful. Internet communications cannot be guaranteed to be timely, > secure, error or virus-free. The sender does not accept liability for any > errors or omissions. > > ** > >
Re: [pygame] circular movement in pygame
Hi, Typically x=r*cos(angle) and y=r*sin(angle) ... you've got the opposite. You'd have to post more code for anyone to help with you in/out of class problem ... Charles On Tue, Apr 28, 2015 at 6:52 AM, diliup gabadamudalige wrote: > Looking at the code on this page lines 47 & 48 > > > http://programarcadegames.com/python_examples/show_file.php?file=sprite_circle_movement.py > > is there a way to do > self.rect.x +*= some value* > self.rect.y += some value > > rather than > > self.rect.x = self.radius * math.sin(self.angle) + self.center_x > self.rect.y = self.radius * math.cos(self.angle) + self.center_y > > ? > > I tired it in the code attached and strangely it works ok but only OUTSIDE > THE class. When I implement the exact code in a class it does something > weird. I can't find where I have gone wrong. > > Please help. > > Many thanks in advance. > > Diliup Gabadamudalige > > > > ** > This e-mail is confidential. It may also be legally privileged. If you are > not the intended recipient or have received it in error, please delete it > and all copies from your system and notify the sender immediately by return > e-mail. Any unauthorized reading, reproducing, printing or further > dissemination of this e-mail or its contents is strictly prohibited and may > be unlawful. Internet communications cannot be guaranteed to be timely, > secure, error or virus-free. The sender does not accept liability for any > errors or omissions. > > ** > >