本文实例为大家分享了pygame实现弹力球及其变速效果的具体代码,供大家参考,具体内容如下

期望:
1.球体接触到框体后反弹
2.设置速度按键,按下后改变球体速度、颜色状态
具体实现:
import pygame
from pygame.locals import *
import sys, random
class Circle(object):
# 设置Circle类属性
def __init__(self):
self.vel_x = 1
self.vel_y = 1
self.radius = 20
self.pos_x, self.pos_y = random.randint(0, 255), random.randint(0, 255)
self.width = 0
self.color = 0, 0, 0
# 球体颜色速度改变方法
def change_circle(self, number):
self.color = random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)
# 防止球体速度方向发生改变
if self.vel_x < 0:
self.vel_x = -number
else:
self.vel_x = number
if self.vel_y < 0:
self.vel_y = -number
else:
self.vel_y = number
# self.vel_x, self.vel_y = number, number 如果仅此句,速度方向会发生改变
def circle_run(self):
# 防止球体超出游戏界面框体
if self.pos_x > 580 or self.pos_x < 20:
self.vel_x = -self.vel_x
if self.pos_y > 480 or self.pos_y < 20:
self.vel_y = -self.vel_y
self.pos_x += self.vel_x
self.pos_y += self.vel_y
pos = self.pos_x, self.pos_y
pygame.draw.circle(screen, self.color, pos, self.radius, self.width)
pygame.init()
screen = pygame.display.set_mode((600, 500))
# Circle实例
circle1 = Circle()
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
elif event.type == KEYUP:
if event.key == pygame.K_1:
circle1.change_circle(1)
elif event.key == pygame.K_2:
circle1.change_circle(2)
elif event.key == pygame.K_3:
circle1.change_circle(3)
elif event.key == pygame.K_4:
circle1.change_circle(4)
screen.fill((0, 0, 100))
circle1.circle_run()
pygame.display.update()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# pygame
# 弹力球
# 变速
# python使用pygame实现笑脸乒乓球弹珠球游戏
# Python基于pygame实现的弹力球效果(附源码)
# python开发的小球完全弹性碰撞游戏代码
# Python实现的弹球小游戏示例
# python编写弹球游戏的实现代码
# Python基于Tkinter模块实现的弹球小游戏
# python实现弹跳小球
# python实现小球弹跳效果
# pygame库实现移动底座弹球小游戏
# 按下
# 大家分享
# 接触到
# 具体内容
# 仅此
# 大家多多
# 类属
# def
# object
# sys
# random
# Circle
# vel_x
# pos_y
# randint
# pos_x
# vel_y
# radius
# 框体后
# strong
相关文章:
魔毅自助建站系统:模板定制与SEO优化一键生成指南
贸易公司网站制作流程,出口贸易网站设计怎么做?
智能起名网站制作软件有哪些,制作logo的软件?
模具网站制作流程,如何找模具客户?
建站ABC备案流程中有哪些关键注意事项?
黑客入侵网站服务器的常见手法有哪些?
营销式网站制作方案,销售哪个网站招聘效果最好?
已有域名如何免费搭建网站?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何在香港服务器上快速搭建免备案网站?
家庭建站与云服务器建站,如何选择更优?
电商网站制作公司有哪些,1688网是什么意思?
如何在Windows服务器上快速搭建网站?
如何挑选高效建站主机与优质域名?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
浅谈Javascript中的Label语句
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
宝塔新建站点报错如何解决?
如何用wdcp快速搭建高效网站?
建站之星微信建站一键生成小程序+多端营销系统
如何在IIS7中新建站点?详细步骤解析
如何在云虚拟主机上快速搭建个人网站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
建站之星多图banner生成与模板自定义指南
制作网站的公司有哪些,做一个公司网站要多少钱?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何在万网主机上快速搭建网站?
平台云上自主建站:模板化设计与智能工具打造高效网站
Android使用GridView实现日历的简单功能
微信h5制作网站有哪些,免费微信H5页面制作工具?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
大连网站制作公司哪家好一点,大连买房网站哪个好?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
微课制作网站有哪些,微课网怎么进?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
Android自定义控件实现温度旋转按钮效果
如何在宝塔面板创建新站点?
在线教育网站制作平台,山西立德教育官网?
如何用IIS7快速搭建并优化网站站点?
教学网站制作软件,学习*后期制作的网站有哪些?
建站之星会员如何解锁更多建站功能?
网页设计网站制作软件,microsoft office哪个可以创建网页?
高端网站建设与定制开发一站式解决方案 中企动力
官网建站费用明细查询_企业建站套餐价格及收费标准指南
怎么将XML数据可视化 D3.js加载XML
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星ASP如何实现CMS高效搭建与安全管理?
*请认真填写需求信息,我们会在24小时内与您取得联系。