{"id":6984,"date":"2020-08-16T08:37:27","date_gmt":"2020-08-16T06:37:27","guid":{"rendered":"https:\/\/pythonprogramming.altervista.org\/?p=6984"},"modified":"2020-08-16T18:37:49","modified_gmt":"2020-08-16T16:37:49","slug":"pygame-components-move-a-sprite","status":"publish","type":"post","link":"https:\/\/pythonprogramming.altervista.org\/pygame-components-move-a-sprite\/","title":{"rendered":"Pygame components: move a sprite"},"content":{"rendered":"<p>In this script we have the basic code to move a sprite with an image in it. Github repository for <a href=\"https:\/\/github.com\/formazione\/components.git\">pygame_components<\/a><\/p>\n<pre class=\"lang:default decode:true  \">import pygame\r\nfrom pygame.locals import *\r\nfrom random import choice, randrange\r\nfrom glob import glob\r\nimport sys\r\n\r\nWINDOWWIDTH = w = 400\r\nWINDOWHEIGHT = h = 400\r\nscreen = pygame.display.set_mode((w, h))\r\nclock = pygame.time.Clock()\r\npygame.display.set_caption(\"Astroid\")\r\ng = pygame.sprite.Group()\r\n# num_order = []\r\nscore = 0\r\nbgd = pygame.Surface((50, 50))\r\npygame.mixer.pre_init(44100, -16, 2, 512)\r\npygame.init()\r\npygame.mixer.quit()\r\npygame.mixer.init(44100, -16, 2, 512)\r\npygame.mixer.set_num_channels(32)\r\n# click = pygame.mixer.Sound(\"click.wav\")\r\n# chimp = pygame.image.load(\"img\\\\chimp.png\")\r\ncounter = 0\r\ncounter_on: bool = 1\r\nmax_count = 100\r\ncards_visible = 1\r\n\r\nfont = pygame.font.SysFont(\"Arial\", 20)\r\n\r\nclass Sprite(pygame.sprite.Sprite):\r\n    def __init__(self, x, y):\r\n        super(Sprite, self).__init__()\r\n        self.x, self.y = x, y\r\n        self.make_image()\r\n        g.add(self)\r\n\r\n    def make_image(self):\r\n        self.image = pygame.image.load(\"img\/ship.png\")\r\n        self.rect = pygame.Rect(self.x, self.y, 128, 64)\r\n\r\n    def update(self):\r\n        self.rect = pygame.Rect(self.x, self.y, 128, 64)\r\n\r\ndef hide():\r\n    for s in g:\r\n        bgd.fill((0, 240, 0))\r\n        s.image.blit(bgd, (0, 0))\r\n\r\ndef movements():\r\n    \"Move a surface\"\r\n    player = Sprite(10, 10)\r\n\r\n\r\n    moveLeft = False\r\n    moveRight = False\r\n    moveUp = False\r\n    moveDown = False\r\n\r\n    MOVESPEED = 1\r\n    while True:\r\n    # Check for events.\r\n        for event in pygame.event.get():\r\n            if event.type == QUIT:\r\n                pygame.quit()\r\n                sys.exit()\r\n            if event.type == KEYDOWN:\r\n                # Change the keyboard variables.\r\n                if event.key == K_LEFT or event.key == K_a:\r\n                    moveRight = False\r\n                    moveLeft = True\r\n                if event.key == K_RIGHT or event.key == K_d:\r\n                    moveLeft = False\r\n                    moveRight = True\r\n                if event.key == K_UP or event.key == K_w:\r\n                    moveDown = False\r\n                    moveUp = True\r\n                if event.key == K_DOWN or event.key == K_s:\r\n                    moveUp = False\r\n                    moveDown = True\r\n            if event.type == KEYUP:\r\n                if event.key == K_ESCAPE:\r\n                    pygame.quit()\r\n                    sys.exit()\r\n                if event.key == K_LEFT or event.key == K_a:\r\n                    moveLeft = False\r\n                if event.key == K_RIGHT or event.key == K_d:\r\n                    moveRight = False\r\n                if event.key == K_UP or event.key == K_w:\r\n                    moveUp = False\r\n                if event.key == K_DOWN or event.key == K_s:\r\n                    moveDown = False\r\n\r\n    # Draw the white background onto the surface.\r\n        screen.fill((255, 255, 255))\r\n\r\n        # Move the player.\r\n        if moveDown and player.rect.bottom &lt; WINDOWHEIGHT:\r\n            player.rect.top += MOVESPEED\r\n        if moveUp and player.rect.top &gt; 0:\r\n            player.rect.top -= MOVESPEED\r\n        if moveLeft and player.rect.left &gt; 0:\r\n            player.rect.left -= MOVESPEED\r\n        if moveRight and player.rect.right &lt; WINDOWWIDTH:\r\n            player.rect.right += MOVESPEED\r\n\r\n        # Draw the player onto the surface.\r\n        g.draw(screen)\r\n        # Draw the window onto the screen.\r\n        pygame.display.update()\r\n        clock.tick(120)\r\n\r\nif __name__ == \"__main__\":\r\n    movements()<\/pre>\n<div style=\"width: 747px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-6984-1\" width=\"747\" height=\"467\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2020\/08\/movesprite.mp4?_=1\" \/><a href=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2020\/08\/movesprite.mp4\">https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2020\/08\/movesprite.mp4<\/a><\/video><\/div>\n","protected":false},"excerpt":{"rendered":"How to move a sprite in pygame\n<a class=\"moretag\" href=\"https:\/\/pythonprogramming.altervista.org\/pygame-components-move-a-sprite\/\"> [...]<\/a>","protected":false},"author":1,"featured_media":6986,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[1],"tags":[157,194,510],"class_list":["post-6984","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-examples","tag-move","tag-pygame","tag-sprite"],"avopt_banners_inside_post":true,"avopt_banners_on_page":true,"av_copy_from":"","av_sharing_message":"","av_sharing_allowed":true,"av_sharing_on":{"fb":[],"tw":[]},"av_allow_affiliate_banner":false,"av_allow_affiliate_multi_banner":false,"av_show_affiliation_buy_button":false,"av_post_rating":true,"av_have_post_rating_value":false,"av_is_artificial_intelligence_content":false,"_links":{"self":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/6984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/comments?post=6984"}],"version-history":[{"count":3,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/6984\/revisions"}],"predecessor-version":[{"id":7014,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/6984\/revisions\/7014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media\/6986"}],"wp:attachment":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media?parent=6984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/categories?post=6984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/tags?post=6984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}