第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我無(wú)法在 PyGame 中更改我的班級(jí)的形狀

我無(wú)法在 PyGame 中更改我的班級(jí)的形狀

慕勒3428872 2021-11-09 15:40:07
所以我無(wú)法將玩家角色的形狀從矩形更改為圓形。之前它說(shuō)缺少一個(gè)參數(shù),所以我們添加了它,然后它說(shuō)有一個(gè)太多了?,F(xiàn)在它說(shuō)了一些不同的東西,我不再記得了,任何人都可以查看提供的代碼。謝謝你的幫助!import pygame    import turtle    import time    import math    import random    import sys    import os    pygame.init()    WHITE = (255,255,255)    GREEN = (0,255,0)    BGColor = (117,168,55)    RED = (255,0,0)    BLUE = (0,0,255)    BLACK = (0,0,0)    MOVE = 2.5    size = (1200, 620)    screen = pygame.display.set_mode(size)    pygame.display.set_caption("Zombie Game")    class Char(pygame.sprite.Sprite):        def __init__(self, color, pos, radius, width):            super().__init__()            self.image = pygame.Surface([radius, width])            self.image.fill(WHITE)            self.image.set_colorkey(WHITE)            pygame.draw.circle(self.image, color, [0, 0], radius, width)            self.circle = self.image.get_circle()        def moveRight(self, pixels):            self.rect.x += pixels        def moveLeft(self, pixels):            self.rect.x -= pixels        def moveUp(self, pixels):            self.rect.y -= pixels        def moveDown(self, pixels):            self.rect.y += pixels    all_sprites_list = pygame.sprite.Group()    playerChar = Char(BLUE, [0, 0], 30, 0)    playerChar.rect.x = 0    playerChar.rect.y = 0    all_sprites_list.add(playerChar)    carryOn = True    clock = pygame.time.Clock()    while carryOn:        for event in pygame.event.get():            if event.type==pygame.QUIT:                carryOn=False            elif event.type==pygame.KEYDOWN:                if event.key==pygame.K_x:                    carryOn=False        keys = pygame.key.get_pressed()        if keys[pygame.K_a]:            playerChar.moveLeft(MOVE)        if keys[pygame.K_d]:            playerChar.moveRight(MOVE)        if keys[pygame.K_w]:            playerChar.moveUp(MOVE)        if keys[pygame.K_s]:            playerChar.moveDown(MOVE)        screen.fill(BGColor)        pygame.display.flip()        clock.tick(60)    pygame.quit()    
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果要繪制一個(gè)半徑為曲面的圓,則必須創(chuàng)建一個(gè)半徑為兩倍寬度和高度的曲面:

self.image = pygame.Surface([radius*2, radius*2])

為了讓班級(jí)正常工作,您仍然必須設(shè)置 mebmer self.rect

self.rect = self.image.get_rect()

最后是表面blitscreen表面:

screen.blit(playerChar.image,playerChar.rect)

請(qǐng)參閱示例,其中我將建議應(yīng)用于您的原始代碼:

http://img1.sycdn.imooc.com//618a26490001e00600700064.jpg

import pygame    

import turtle    

import time    

import math    

import random    

import sys    

import os    

pygame.init()    


WHITE = (255,255,255)    

GREEN = (0,255,0)    

BGColor = (117,168,55)    

RED = (255,0,0)    

BLUE = (0,0,255)    

BLACK = (0,0,0)    

MOVE = 2.5    


size = (1200, 620)    

screen = pygame.display.set_mode(size)    

pygame.display.set_caption("Zombie Game")    


class Char(pygame.sprite.Sprite):    

    def __init__(self, color, pos, radius, width):    

        super().__init__()    

        self.image = pygame.Surface([radius*2, radius*2])    

        self.image.fill(WHITE)    

        self.image.set_colorkey(WHITE)    

        pygame.draw.circle(self.image, color, [radius, radius], radius, width)   

        self.rect = self.image.get_rect()    


    def moveRight(self, pixels):    

        self.rect.x += pixels

        pass    


    def moveLeft(self, pixels):    

        self.rect.x -= pixels

        pass    


    def moveUp(self, pixels):    

        self.rect.y -= pixels

        pass    


    def moveDown(self, pixels):    

        self.rect.y += pixels

        pass    



all_sprites_list = pygame.sprite.Group()    


playerChar = Char(BLUE, [0, 0], 30, 0)    

playerChar.rect.x = 0    

playerChar.rect.y = 0    


all_sprites_list.add(playerChar)    


carryOn = True    

clock = pygame.time.Clock()    


while carryOn:    

    for event in pygame.event.get():    

        if event.type==pygame.QUIT:    

            carryOn=False    

        elif event.type==pygame.KEYDOWN:    

            if event.key==pygame.K_x:    

                carryOn=False    


    keys = pygame.key.get_pressed()    

    if keys[pygame.K_a]:    

        playerChar.moveLeft(MOVE)    

    if keys[pygame.K_d]:    

        playerChar.moveRight(MOVE)    

    if keys[pygame.K_w]:    

        playerChar.moveUp(MOVE)    

    if keys[pygame.K_s]:    

        playerChar.moveDown(MOVE)    


    screen.fill(BGColor) 

    screen.blit(playerChar.image,playerChar.rect)

    pygame.display.flip()    

    clock.tick(60)    

pygame.quit()    


查看完整回答
反對(duì) 回復(fù) 2021-11-09
  • 1 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)