首页 > 其他分享 >pygame写物体移动

pygame写物体移动

时间:2024-07-12 17:42:04浏览次数:10  
标签:ballrect 物体 move pygame 移动 speed event rect

import pygame
import sys
import time
pygame.init()
size = width,height = 800,600
screen = pygame.display.set_mode(size)
color = 255,255,255
background=pygame.image.load(r'/Users/bytedance/Desktop/my/back.jpeg')  #背景图片,加r
background=pygame.transform.scale(background, (800, 600))

ball = pygame.image.load('/Users/bytedance/Desktop/my/ball.jpeg')
ball = pygame.transform.scale(ball, (30, 30))
ballrect = ball.get_rect()

rect = pygame.image.load('/Users/bytedance/Desktop/my/dog01.jpeg')
rect = pygame.transform.scale(rect, (100, 100))
rectarea = rect.get_rect()
rectarea.move_ip(400-100,600-35)
speed =[5,5]
state_time = pygame.time.Clock()
x,y=380,600-100 #初始小狗位置
move_x=move_y=0
while True:  # 死循环确保窗口一直显示
    for event in pygame.event.get():  # 遍历所有事件
        if event.type == pygame.QUIT:  # 如果单击关闭窗口,则退出
            sys.exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                move_x = -5
            elif event.key == pygame.K_RIGHT:
                move_x = 5
            elif event.key == pygame.K_UP:
                move_y = -5
            elif event.key == pygame.K_DOWN:
                move_y = 5
        elif event.type == pygame.KEYUP:
            move_x = 0
            move_y = 0
    x += move_x
    y += move_y
    state_time.tick(50)
    ballrect = ballrect.move(speed) #小球随机动
    screen.fill(color)

    screen.blit(background,(0,0))

    screen.blit(ball,ballrect)
    screen.blit(rect,(x,y))
    pygame.display.flip()

    if ballrect.left<0 or ballrect.right>width:
        speed[0] = -speed[0]
    if ballrect.top<0:
        speed[1] = -speed[1]
    if ballrect.bottom==600-30 and ballrect.left+50>=x and ballrect.left<=x+200 :
        speed[1] = -speed[1]
    if ballrect.bottom>600+50:
        speed[1] = -speed[1]
pygame.quit()

 

 

标签:ballrect,物体,move,pygame,移动,speed,event,rect
From: https://www.cnblogs.com/chuting/p/18299080

相关文章

  • Cellebrite UFED 4PC 7.69 (Windows) - Android 和 iOS 移动设备取证软件
    CellebriteUFED4PC7.69(Windows)-Android和iOS移动设备取证软件TheIndustryStandardforLawfullyAccessingandCollectingDigitalData请访问原文链接:https://sysin.org/blog/cellebrite-ufed/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCellebri......
  • 时间序列分析方法汇总对比及优缺点和适用情况(上)--1. 移动平均 2. 指数平滑 3. 自回归
    目录1.移动平均(MovingAverage)2.指数平滑(ExponentialSmoothing)3.自回归模型(AutoregressiveModel,AR)4.移动平均模型(MovingAverageModel,MA)5.自回归移动平均模型(ARMA) 1.移动平均(MovingAverage)移动平均是平滑时间序列的一种技术,旨在通过消除短期波动来揭示......
  • 住宅代理、移动代理和数据中心代理之间的区别
    如果您是一名认真的互联网用户,可能需要反复访问某个网站或服务器,可能是为了数据抓取、价格比较、SEO监控等用例,而不会被IP列入黑名单或被CAPTCHA阻止。代理的工作原理是将所有传出数据发送到代理服务器,然后代理服务器将其发送到目标服务器。目标服务器从代理接收数据并......
  • WD西部数据移动硬盘维修数据恢复
    一、数据恢复了解数据丢失原因:误删除或格式化:这是最常见的数据丢失原因。病毒感染:恶意软件可能导致数据损坏或丢失。硬件故障:包括磁盘损坏、读写头故障、电路板烧毁等。软件错误:如操作系统崩溃或文件系统损坏。不正确操作:如突然拔出移动硬盘而未进行安全移除。选择恢复方......
  • 可视化学习:如何用WebGL绘制3D物体
    在之前的文章中,我们使用WebGL绘制了很多二维的图形和图像,在学习2D绘图的时候,我们提过很多次关于GPU的高效渲染,但是2D图形的绘制只展示了WebGL部分的能力,WebGL更强大的地方在于,它可以绘制各种3D图形,而3D图形能够极大地增强可视化的表现能力。相信很多小伙伴都对此有所耳闻,也有不少......
  • 移动硬盘咔咔异响数据恢复
    当移动硬盘发出咔咔异响时,这通常表明硬盘可能遇到了严重的问题,如读写头故障、硬盘盘片损坏、电机或主板故障等。一、停止使用并评估情况立即停止使用:一旦发现移动硬盘发出咔咔异响,应立即停止使用,避免进一步损坏硬盘和数据。评估损坏程度:观察硬盘的外观是否有物理损坏,如摔痕、撞......
  • 住宅代理、移动代理和数据中心代理之间的区别
    如果您是一名认真的互联网用户,可能需要反复访问某个网站或服务器,可能是为了数据抓取、价格比较、SEO监控等用例,而不会被IP列入黑名单或被CAPTCHA阻止。代理的工作原理是将所有传出数据发送到代理服务器,然后代理服务器将其发送到目标服务器。目标服务器从代理接收数据并......
  • 商户版移动支付(H5)
    一、产品简介 (1)商户版移动支付H5   旨在提升、优化商户收款体验,随时随地可以完成商户收款,采用微信、支付宝原生sdk驱动扫码完成各类型的支付场景,不用拘泥于Pda、Pos机方式去完成商户支付收款;  (2) 与pda、pos区别差异   最大区别在于识别率,二维码识......
  • 牛客周赛 Round50 E-小红的树上移动 (期望dp+逆元)
    E-小红的树上移动题目:题意:在一个树上从根节点移动,每次都会向更深的下一层走,如果此时已经是叶子节点没有下一层就会停留在这里。求出移动次数的期望,移动次数就是从根节点1开始到此节点的深度。思路:画一个草图不难看出其实在同一层中,到达每个点的概率是一样的。并且,对于每一层......
  • 基于Java+Vue的企事业移动培训考试系统:体系化培训管理,保障培训效果(项目源代码)
     前言:企事业移动培训考试系统是一个集成多种功能的综合性平台,旨在为企业提供便捷、高效、灵活的在线培训和考试解决方案。以下是针对平台所列出的八个主要功能的详细解释:一、文档管理及在线预览允许企业上传、存储、管理和分享各种培训文档,如PPT、PDF、Word等。提供在线预......