猫史档案馆


【求助帖】

用户:宇宙中的星系宇宙中的星系查看:25 回复:6 评论:25 创建时间:2023-08-14T17:19:32


center_image

求大佬帮我看一下


回复

上一页1 页 / 共 1下一页
yycrobinyycrobin

你把源代码发给我,我给你正确的代码。

点赞0


评论


xueicexueice

1️⃣:路径问题,让图像闪烁不定?🔍

您是否曾经遇到过在使用Pygame加载图像时,出现了报错的问题?其中一个常见的原因是文件路径的错误。在代码中,我们使用 pic = pygame.image.load("CrazySmile.bmp") 来加载图像文件。但是,如果文件路径不正确,Pygame将无法找到图像文件,导致报错。因此,在编写代码时,请确保您提供了正确的文件路径,或者尝试使用绝对路径来加载图像。

2️⃣:格式奇特,让图像弄不出来?💥

另一个可能导致报错的原因是图像文件的格式不受支持。Pygame支持多种图像格式,如BMP、PNG、JPEG等。然而,如果您尝试加载一个不受支持的图像格式,就会导致报错。因此,在使用 pic = pygame.image.load("CrazySmile.bmp") 之前,请确保您的图像文件是Pygame支持的格式,这样才能顺利加载并显示图像。

希望通过这篇推荐帖子,您能够学会解决这个问题。记住,正确的文件路径、支持的图像格式以及正确的库安装都是顺利加载图像的关键。如果您遇到了其他问题或有更多疑问,欢迎在回复我哦,我将尽力为您解答。感谢您的阅读,希望您在Pygame的世界中编程编得开心!🎮✨

点赞0


评论


oWuGi7s6oWuGi7s6

文件打不开

点赞0


评论


宇宙中的星系宇宙中的星系

center_image

点赞0


评论


宇宙中的星系宇宙中的星系

import pygame
import random
pygame.init()
screen = pygame.display.set_mode([800,600])
black = (0,0,0)
pic = pygame.image.load("CrazySmile.bmp")
keep_going = True
colorkey = pic.get_at((0,0))
pic.set_colorkey(colorkey)
mousebutton = False
clock = pygame.time.Clock()
spirte_list = pygame.sprite.Group()

#定义一个类喵iley
class 喵iley(pygame.sprite.Sprite):
    pos = (0,0)     #设置笑脸的位置
    xvel = 1        #设置笑脸的水平移动
    yvel = 1        #设置笑脸的垂直移动
    scale = 100     #笑脸的缩放比
    def __init__(self,pos,xvel,yvel):
        pygame.sprite.Sprite.__init__(self)
        self.image = pic
        self.image = pygame.transform.scale(self,image,(self,scale,self,scale))
        self.scale = random.randint(30,100)
        self.rect = self.image.get__rect()      #得到笑脸的矩形框
        self.pos = pos
        self.rect.x = pos[0] - self.scale/2     #点击时,让笑脸的中间出现在鼠标位置
        self.rect.y = pos[1] - self.scale/2
        self.xvel = xvel
        self.yvel = yvel
        def update(self):
            self.rect.x += self.xvel
            self.ract.y += self.yvel
            if self.rect.x <= 0 or self.rect.x + self.scale > screen.get_width():
                self.xvel = -self.xvel
            if self.rect.y <= 0 or self.rect.y + self.scale > screen.get_height():
                self.yvel = -self.yvel

while keep_going:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            keep_going = True
        if event.type == pygame.MOUSEBUTTONDOWN:
            if pygame.mouse.get_pressed()[0]:
                mousebutton = True
            else:
                if pygame.mouse.pressed()[1]:
                    pos = pygame.mouse.get_pos()
                    clicked_喵ileys = [s for s in speite_list if s.rect collidepoint(pos)]
                    sprite_list.remove(clicked_喵ileys)
        if event.type == pygame.MOUSEBUTTONUP:
            mousebutton = False
    screen.fill(black)
    sprite_list.update()
    sprite_list.draw(screen)
    clock.tick(60)
    pygame.display.update()
    if mousebutton:
        speedx = random.randint(-5,5)
        speedy = random.randint(-5,5)
        new喵iley = 喵iley(pygame.mouse.get_pos(),speedx,speedy)
        speed_list.a喵(new喵iley)
pygame.quit()

点赞0


评论


yycrobinyycrobin

import pygame
import random

WIDTH = 900
HEIGHT = 600

pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Game")
clock = pygame.time.Clock()

class Ball(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.Surface((50, 50))
        self.image.fill((255, 0, 0))
        self.rect = self.image.get_rect(center=(WIDTH//2, HEIGHT//2))
        self.xvel = random.choice([-5, 5])
        self.yvel = random.choice([-5, 5])

    def update(self):
        self.rect.x += self.xvel
        self.rect.y += self.yvel

sprite_list = pygame.sprite.Group()
ball = Ball()
sprite_list.add(ball)

keep_going = True
while keep_going:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            keep_going = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            keep_going = True
        elif event.type == pygame.MOUSEBUTTONUP:
            pos = pygame.mouse.get_pos()
            for sprite in sprite_list:
                if sprite.rect.collidepoint(pos):
                    sprite_list.remove(sprite)

    screen.fill((255, 255, 255))
    sprite_list.update()
    sprite_list.draw(screen)
    pygame.display.flip()

    clock.tick(60)

pygame.quit()

点赞0


评论