Re: [pygame] sprite collisions - looking for simple snippet
@Zack - here is the smaller example i were promissed - http://pastebin.com/f65869385 - an idea about handling 4 players on one keyboard - a very fun experience i wished to see more common on Pygame games! ;) - it recalls a bit like those early 90's arcade games with 3 or 4 players on the same machine and playfield (like Simpsons, Ninja Turtles, X-Men, etc. - or even Warlords from early 80's) and sorry this example not being pythonic yet - from people used to code from 25 years ago, not knowing these new coding features, on an almost 40yo guy, this process of learning is not that fast - but of course, any help on showing what for are they used, how it works, and a theorical idea of how the Python interpreter deals with it, and being assured all the come doesn't became an undebuggable mess, is all very important and useful (all these points are very important for learning them) but there are still a lot of obstacles: for example, that tuples example you shown, mixing strings with integers (or floats) are hugelly confusing - but otherwise, example_list looks simple and interesting (assuming there are no differences between lists and arrays?) thank you a lot about all help provided! :) On 7/14/09, Zack Schilling zack.schill...@gmail.com wrote: Making code more pythonic doesn't necessarily mean meeting the PEP8 style guidelines, it just means turning the ideas that you have into code in the most direct way that best uses the basic features of Python. For example, python's basic collection, the list, is not an array and works best when you don't use it as one. When you want to iterate through all the items in a list, you don't keep track of how many items there are and step through those numbers to address each data item. example_list = [3,4.5,3,2,8.1,39] for index in range(0,len(example_list),1): print The number + str(example_list[index]) + is in the list. That's a roundabout way of working with arrays in lower level languages. In python, you should iterate through a list with this much more intuitive structure: example_list = [3,4.5,3,2,8.1,39] for value in example_list: print The number + str(value) + is in the list. This creates a loop in which each number or object in the list is substituted for value in turn. Another example: Instead of creating multiple lists to hold multiple related values of different types, use tuples. colors = [ (Blue,0,0,255), (Red,255,0,0), (Green,0,255,0), (White,255,255,255)] print Available colors: for color in colors: print color[0] One of the most important things in python is writing clear and direct code. Once you're used to it, the barriers between your programming ideas and actual code will start to fall. Hope this helps you get started. -Zack On Jul 13, 2009, at 6:49 PM, Paulo Silva wrote: @Zack: 'more pythonic' you mean PEP8? thanks a lot fixing the code, and helping me sensiblelizing a habit on this codiing way one thing i were trying to do is making the collision changing a variable for the colour, and using 'screen.fill(collisioncolour)' just once, as seeing the logic of your last code http://pastebin.com/m25df2e2b , the result were not that different one thing impressed me is that your last code seems to be much more fluid - what you did on that? on the other side, i'm still very far of understanding stuff like 'elif' or 'pygame.sprite.Group' - i am really having lots of difficulties trying to understand how Pygame sprite groups work... again, thanks a lot! :) On 7/13/09, Zack Schilling zack.schill...@gmail.com wrote: It only shows one sprite because you're filling the screen each and every time you draw one. That's also part of the reason why your code is so incredibly slow. Delete this line: screen.fill(0x998877) And move it before the for loop: screen.fill(0x998877) for i in range (0,amnt,1): spridr[snum[i]].left=xpos[i] spridr[snum[i]].top=ypos[i] But forget all that, what's much more important is writing code in a more pythonic way. Look at this rewrite of your code. It's not perfect (and still does some things strange ways for the sake of simplicity and retaining the old structure) but it should help you a lot. http://pastebin.com/m25df2e2b -Zack On Jul 13, 2009, at 3:12 PM, Paulo Silva wrote: well, the exact answer i can say is 'yes and no'... ;) the 'yes' is finally i can start understanding how collisions works on pygame, and this is truly wonderful! thank you! the 'no' is, when i did use 'if' over coordinates and size calculations instead of collisions - http://pastebin.com/f38dfd442 - it also shown just one sprite instead of from 'amnt' variable (i used to try between 32 and 128), and performed hugelly slow as well... - this is concerning me when i had some ideas on coding games with some complexity on sprite ammounts (like doing some danmaku experimental stuff or something in this way...) for me were a
Re: [pygame] sprite collisions - looking for simple snippet
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.comwrote: 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,
Re: [pygame] sprite collisions - looking for simple snippet
@Zack - what i wanted were change the background colour to #FF 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.comwrote: 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,
Re: [pygame] sprite collisions - looking for simple snippet
Well, this version runs. I'm not sure if it's doing what you want but it does make a windows and draws some stuff. The subsurface splits are correct. I tried to make minimal corrections. http://pastebin.com/m1e1c7c94 -Zack On Jul 13, 2009, at 11:47 AM, Paulo Silva wrote: @Zack - what i wanted were change the background colour to #FF 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.comwrote: 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,
Re: [pygame] sprite collisions - looking for simple snippet
well, the exact answer i can say is 'yes and no'... ;) the 'yes' is finally i can start understanding how collisions works on pygame, and this is truly wonderful! thank you! the 'no' is, when i did use 'if' over coordinates and size calculations instead of collisions - http://pastebin.com/f38dfd442 - it also shown just one sprite instead of from 'amnt' variable (i used to try between 32 and 128), and performed hugelly slow as well... - this is concerning me when i had some ideas on coding games with some complexity on sprite ammounts (like doing some danmaku experimental stuff or something in this way...) for me were a surprise why both http://pastebin.com/m1e1c7c94 and http://pastebin.com/f38dfd442 shown only one sprite - very weird... overally, your correction will help me coding simpler snippets thanks! :) (and thanks also confirming subsurfaces are fine for collisions - i'm still very newbie on Pygame! :) ) On 7/13/09, Zack Schilling zack.schill...@gmail.com wrote: Well, this version runs. I'm not sure if it's doing what you want but it does make a windows and draws some stuff. The subsurface splits are correct. I tried to make minimal corrections. http://pastebin.com/m1e1c7c94 -Zack On Jul 13, 2009, at 11:47 AM, Paulo Silva wrote: @Zack - what i wanted were change the background colour to #FF 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.comwrote: 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
Re: [pygame] sprite collisions - looking for simple snippet
It only shows one sprite because you're filling the screen each and every time you draw one. That's also part of the reason why your code is so incredibly slow. Delete this line: screen.fill(0x998877) And move it before the for loop: screen.fill(0x998877) for i in range (0,amnt,1): spridr[snum[i]].left=xpos[i] spridr[snum[i]].top=ypos[i] But forget all that, what's much more important is writing code in a more pythonic way. Look at this rewrite of your code. It's not perfect (and still does some things strange ways for the sake of simplicity and retaining the old structure) but it should help you a lot. http://pastebin.com/m25df2e2b -Zack On Jul 13, 2009, at 3:12 PM, Paulo Silva wrote: well, the exact answer i can say is 'yes and no'... ;) the 'yes' is finally i can start understanding how collisions works on pygame, and this is truly wonderful! thank you! the 'no' is, when i did use 'if' over coordinates and size calculations instead of collisions - http://pastebin.com/f38dfd442 - it also shown just one sprite instead of from 'amnt' variable (i used to try between 32 and 128), and performed hugelly slow as well... - this is concerning me when i had some ideas on coding games with some complexity on sprite ammounts (like doing some danmaku experimental stuff or something in this way...) for me were a surprise why both http://pastebin.com/m1e1c7c94 and http://pastebin.com/f38dfd442 shown only one sprite - very weird... overally, your correction will help me coding simpler snippets thanks! :) (and thanks also confirming subsurfaces are fine for collisions - i'm still very newbie on Pygame! :) ) On 7/13/09, Zack Schilling zack.schill...@gmail.com wrote: Well, this version runs. I'm not sure if it's doing what you want but it does make a windows and draws some stuff. The subsurface splits are correct. I tried to make minimal corrections. http://pastebin.com/m1e1c7c94 -Zack On Jul 13, 2009, at 11:47 AM, Paulo Silva wrote: @Zack - what i wanted were change the background colour to #FF 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.comwrote: 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
Re: [pygame] sprite collisions - looking for simple snippet
Making code more pythonic doesn't necessarily mean meeting the PEP8 style guidelines, it just means turning the ideas that you have into code in the most direct way that best uses the basic features of Python. For example, python's basic collection, the list, is not an array and works best when you don't use it as one. When you want to iterate through all the items in a list, you don't keep track of how many items there are and step through those numbers to address each data item. example_list = [3,4.5,3,2,8.1,39] for index in range(0,len(example_list),1): print The number + str(example_list[index]) + is in the list. That's a roundabout way of working with arrays in lower level languages. In python, you should iterate through a list with this much more intuitive structure: example_list = [3,4.5,3,2,8.1,39] for value in example_list: print The number + str(value) + is in the list. This creates a loop in which each number or object in the list is substituted for value in turn. Another example: Instead of creating multiple lists to hold multiple related values of different types, use tuples. colors = [ (Blue,0,0,255), (Red,255,0,0), (Green,0,255,0), (White,255,255,255)] print Available colors: for color in colors: print color[0] One of the most important things in python is writing clear and direct code. Once you're used to it, the barriers between your programming ideas and actual code will start to fall. Hope this helps you get started. -Zack On Jul 13, 2009, at 6:49 PM, Paulo Silva wrote: @Zack: 'more pythonic' you mean PEP8? thanks a lot fixing the code, and helping me sensiblelizing a habit on this codiing way one thing i were trying to do is making the collision changing a variable for the colour, and using 'screen.fill(collisioncolour)' just once, as seeing the logic of your last code http://pastebin.com/m25df2e2b , the result were not that different one thing impressed me is that your last code seems to be much more fluid - what you did on that? on the other side, i'm still very far of understanding stuff like 'elif' or 'pygame.sprite.Group' - i am really having lots of difficulties trying to understand how Pygame sprite groups work... again, thanks a lot! :) On 7/13/09, Zack Schilling zack.schill...@gmail.com wrote: It only shows one sprite because you're filling the screen each and every time you draw one. That's also part of the reason why your code is so incredibly slow. Delete this line: screen.fill(0x998877) And move it before the for loop: screen.fill(0x998877) for i in range (0,amnt,1): spridr[snum[i]].left=xpos[i] spridr[snum[i]].top=ypos[i] But forget all that, what's much more important is writing code in a more pythonic way. Look at this rewrite of your code. It's not perfect (and still does some things strange ways for the sake of simplicity and retaining the old structure) but it should help you a lot. http://pastebin.com/m25df2e2b -Zack On Jul 13, 2009, at 3:12 PM, Paulo Silva wrote: well, the exact answer i can say is 'yes and no'... ;) the 'yes' is finally i can start understanding how collisions works on pygame, and this is truly wonderful! thank you! the 'no' is, when i did use 'if' over coordinates and size calculations instead of collisions - http://pastebin.com/f38dfd442 - it also shown just one sprite instead of from 'amnt' variable (i used to try between 32 and 128), and performed hugelly slow as well... - this is concerning me when i had some ideas on coding games with some complexity on sprite ammounts (like doing some danmaku experimental stuff or something in this way...) for me were a surprise why both http://pastebin.com/m1e1c7c94 and http://pastebin.com/f38dfd442 shown only one sprite - very weird... overally, your correction will help me coding simpler snippets thanks! :) (and thanks also confirming subsurfaces are fine for collisions - i'm still very newbie on Pygame! :) ) On 7/13/09, Zack Schilling zack.schill...@gmail.com wrote: Well, this version runs. I'm not sure if it's doing what you want but it does make a windows and draws some stuff. The subsurface splits are correct. I tried to make minimal corrections. http://pastebin.com/m1e1c7c94 -Zack On Jul 13, 2009, at 11:47 AM, Paulo Silva wrote: @Zack - what i wanted were change the background colour to #FF 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
[pygame] sprite collisions - looking for simple snippet
hi! i'm having difficulty on coding a small nippet of sprite collisions on pygame on sdlbasic, it's extremelly simple to get working (please don't worry about PEP8... :/ ) http://img19.imageshack.us/img19/6966/bht0.png http://img19.imageshack.us/img19/8138/bht1.png http://pastebin.com/f289d80eb i imagine it can be possible coding similar stuff on python pygame, using as few lines of code as this one, and providing similar results all feedback is very apreciated, thanks! :)
Re: [pygame] sprite collisions - looking for simple snippet
Pygame.sprite has methods for detection collisions: pygame.sprite.spritecollide(), pygame.sprite.collide_rect(), etc. You can find their reference at http://www.pygame.org/docs/ref/sprite.html. On Sun, Jul 12, 2009 at 17:41, nitrofur...@gmail.com wrote: hi! i'm having difficulty on coding a small nippet of sprite collisions on pygame on sdlbasic, it's extremelly simple to get working (please don't worry about PEP8... :/ ) http://img19.imageshack.us/img19/6966/bht0.png http://img19.imageshack.us/img19/8138/bht1.png http://pastebin.com/f289d80eb i imagine it can be possible coding similar stuff on python pygame, using as few lines of code as this one, and providing similar results all feedback is very apreciated, thanks! :)
Re: [pygame] sprite collisions - looking for simple snippet
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 On 7/12/09, Henrique Nakashima henrique.nakash...@gmail.com wrote: Pygame.sprite has methods for detection collisions: pygame.sprite.spritecollide(), pygame.sprite.collide_rect(), etc. You can find their reference at http://www.pygame.org/docs/ref/sprite.html. On Sun, Jul 12, 2009 at 17:41, nitrofur...@gmail.com wrote: hi! i'm having difficulty on coding a small nippet of sprite collisions on pygame on sdlbasic, it's extremelly simple to get working (please don't worry about PEP8... :/ ) http://img19.imageshack.us/img19/6966/bht0.png http://img19.imageshack.us/img19/8138/bht1.png http://pastebin.com/f289d80eb i imagine it can be possible coding similar stuff on python pygame, using as few lines of code as this one, and providing similar results all feedback is very apreciated, thanks! :)
Re: [pygame] sprite collisions - looking for simple snippet
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,