Changing the order might help with procedural images. Then you can make the
rect's attributes work for you.

        self.rect = pygame.Rect(0,0,50,50)
        self.image = pygame.surface.Surface(self.rect.size)
        pygame.draw.circle(self.image, pygame.Color(0, 0, 255),
self.rect.center, self.rect.width/2)
        self.image.set_colorkey(pygame.Color('black'))
        self.rect.center = 320,0

Gumm

On Mon, Sep 27, 2010 at 2:40 PM, kevin hayes <kevino...@gmail.com> wrote:

> Hey...thank you!  I'm now on someone else's computer, so I can't edit the
> code, but I trust that you are correct. Thanks again. Kevin
>
>
> On Mon, Sep 27, 2010 at 1:37 PM, Christopher Night <cosmologi...@gmail.com
> > wrote:
>
>> It's extremely minor. Change the center of your circle from (320, 0) to
>> (25, 25). The coordinates are with respect to self.image, not to screen.
>>
>> -Christopher
>>
>>
>> On Mon, Sep 27, 2010 at 4:32 PM, kevin hayes <kevino...@gmail.com> wrote:
>>
>>> Hi,
>>>         This is my attempt at sending a circle(Sprite) vertically from
>>> the top of the screen to the bottom.  Can someone
>>> tell me how to change the code so it works?  Currently it is just
>>> creating a white screen. Thanks in advance. Kevin
>>>
>>> """Attempt at moving a circle(Sprite) from top(of screen) to bottom"""
>>>
>>> import pygame
>>> pygame.init()
>>>
>>> screen = pygame.display.set_mode((640, 480))
>>>
>>> class Circle(pygame.sprite.Sprite):
>>>     def __init__(self):
>>>         pygame.sprite.Sprite.__init__(self)
>>>         self.image = pygame.Surface((50, 50))
>>>         self.image.fill((255, 255, 255))
>>>        #fill with white to hide square???
>>>         pygame.draw.circle(self.image, (0, 0, 255), (320, 0), 25)
>>>         self.rect = self.image.get_rect()
>>>         self.rect.centerx = 320
>>>         self.rect.centery = 0
>>>
>>>     def update(self):
>>>         self.rect.centery += 5
>>>         if self.rect.top > screen.get_height():
>>>             self.rect.bottom = 0
>>>
>>>
>>> def main():
>>>     pygame.display.set_caption("Verticle Circle Sprite")
>>>
>>>     background = pygame.Surface(screen.get_size())
>>>     background.fill((255, 255, 255))
>>>     screen.blit(background, (0, 0))
>>>
>>>     circle = Circle()
>>>     allSprites = pygame.sprite.Group(circle)
>>>
>>>     clock = pygame.time.Clock()
>>>     keepGoing = True
>>>     while keepGoing:
>>>         clock.tick(30)
>>>         for event in pygame.event.get():
>>>             if event.type == pygame.QUIT:
>>>                 keepGoing == False
>>>
>>>         allSprites.clear(screen, background)
>>>         allSprites.update()
>>>         allSprites.draw(screen)
>>>
>>>         pygame.display.flip()
>>>
>>> if __name__ == "__main__":
>>>     main()
>>>
>>> pygame.quit()
>>>
>>>
>>
>

Reply via email to