@Zack - what i wanted were change the background colour to #FF0000 only when the sprites 0 and 1 collides - anyway, sorry this code is not PEP8, and using abbreviated variable names - i came from hobbystic 80's ansi-basic , where i were hugelly one-liner, and variable names only took 1 or 2 characters that time - i have deep bad habits from that time, and learning PEP8 is still a huge barrier for me - be welcome on breaking lines at ';' or rewriting variable names, if you want...
@Henrique, if you can help fixing http://pastebin.com/f524a8cf2 would be great - i understand what you were saying from the error message, but i don't have any idea about the solution for that... - what i coded there were the closest i could imagine as possible for having that working... - i even tried to avoid all default sprite collision methods from pygame, and only using position and size calculations for collisions (outside of any def or class - i'm trying to avoid them on snippets like this), but the code became hugelly slow.... thank you all! On 7/13/09, Henrique Nakashima <henrique.nakash...@gmail.com> wrote: > Traceback (most recent call last): > File "col.py", line 52, in <module> > collide=pygame.sprite.collide_rect(sprid[0],sprid[1]) > File "C:\Python25\lib\site-packages\pygame\sprite.py", line 1146, in > collide_r > ect > return left.rect.colliderect(right.rect) > AttributeError: 'pygame.Surface' object has no attribute 'rect' > > This error happens because you are passing Surfaces to > pygame.sprite.collide_rect, not Sprites. > > On Mon, Jul 13, 2009 at 12:27, Zack Schilling > <zack.schill...@gmail.com>wrote: > >> I tried to read and correct your code, but I have no idea at all what's >> going on. It's written like C++ transposed directly into python, which is >> confusing. It doesn't help that there are no comments at all and the >> variable names are cryptic. A big problem seems to be simply feeding wrong >> object types to all the functions. You're sending sprites to blitters and >> rects to the sprite collide. >> >> I'll have a go at understanding what you want to do and making it work, >> but >> I make no promises. If I can get that far, I'll also rewrite it in a much >> more pythonic way. Then you can compare the two and learn much better >> practices when working in python. >> >> -Zack >> >> >> On Jul 13, 2009, at 8:03 AM, Paulo Silva wrote: >> >> hi! >>> >>> well, for me finding a good pygame snippet with sprite collision (and >>> simple to understand) is like finding a needle in a haystack... >>> >>> but when i try do on my own, i get this: >>> >>> Traceback (most recent call last): >>> File "_spritesheetexample15b4_difsiz_collision.py", line 47, in <module> >>> collide=pygame.sprite.collide_rect(spridr[0].rect,spridr[1].rect) >>> AttributeError: 'pygame.Rect' object has no attribute 'rect' >>> >>> the example is: http://pastebin.com/f524a8cf2 >>> >>> all suggestions are welcome! (be welcome also fixing that pastebin, >>> and sending us the pastebin url with the fixes! ;) ) - sorry it's not >>> PEP8 yet... :/ >>> >>> thanks! ;) >>> >>> >>> >>> On 7/13/09, René Dudfield <ren...@gmail.com> wrote: >>> >>>> On Mon, Jul 13, 2009 at 7:32 AM, Paulo Silva <nitrofur...@gmail.com> >>>> wrote: >>>> >>>> this reference i know from a long time, and figured out easily there >>>>> were the exact methods to be used - the problem is i couldn't have a >>>>> snippet working only following that - on my oppinion on that >>>>> referenence, each pygame method should have a working snippet to be >>>>> tried out - for me is easier to work on tiny snippets, just like with >>>>> lego bricks >>>>> >>>>> >>>> >>>> >>>> Hi, >>>> >>>> pygame comes with examples. Either use those, or use the code search >>>> button >>>> next to each method, to search through all the projects on the internet >>>> that >>>> use pygame. There's 238 results for spritcollide for example. >>>> >>>> >>>> cu, >>>> >>>> >> >