pygame实现弹力球及其变速效果

 更新时间:2017年07月03日 11:33:45   作者:鱼丸粗面丶  
这篇文章主要为大家详细介绍了pygame实现弹力球及其变速效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python数字图像处理之高级形态学处理

    python数字图像处理之高级形态学处理

    这篇文章主要介绍了python数字图像处理之高级形态学处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Python Queue模块详细介绍及实例

    Python Queue模块详细介绍及实例

    这篇文章主要介绍了Python Queue模块详细介绍及实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • 如何使用Python实现数据透视表、音频文件格式转换

    如何使用Python实现数据透视表、音频文件格式转换

    这篇文章主要介绍了用Python实现数据透视表、音频文件格式转换,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • Keras自定义实现带masking的meanpooling层方式

    Keras自定义实现带masking的meanpooling层方式

    这篇文章主要介绍了Keras自定义实现带masking的meanpooling层方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现视频下载功能

    Python实现视频下载功能

    最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有一个程序可以把各大视频网站的热门用户最新发布的视频下载下来,不仅方便了观看,还可以将没有版权的视频发布在个人社交网站上,增加自己的人气,多好呀
    2017-03-03
  • 浅析使用Python操作文件

    浅析使用Python操作文件

    文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章。
    2017-07-07
  • python实现跨excel sheet复制代码实例

    python实现跨excel sheet复制代码实例

    这篇文章主要介绍了python实现跨excel sheet复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 利用python调用摄像头的实例分析

    利用python调用摄像头的实例分析

    在本篇文章里小编给大家整理了一篇关于利用python调用摄像头的实例分析内容,有需要的朋友们跟着参考下。
    2021-06-06
  • Python中os模块功能与用法详解

    Python中os模块功能与用法详解

    这篇文章主要介绍了Python中os模块功能与用法,总结分析了Python os模块基本功能、内置函数、使用方法及相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • python温度转换华氏温度实现代码

    python温度转换华氏温度实现代码

    这篇文章主要介绍了python温度转换华氏温度实现代码内容,有需要的朋友们可以测试下。
    2020-12-12

最新评论