python实现黑客字幕雨效果

 更新时间:2018年06月21日 14:41:55   作者:xzx_kag  
这篇文章主要为大家详细介绍了python实现黑客字幕雨效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现字幕雨效果的具体代码,供大家参考,具体内容如下

#################################### 
#name : HACKER EMPIRE CAPTION RAIN 
#import modules 
try : 
  import pygame 
  import sys 
  from pygame.locals import * 
  from random import randint 
except : 
  print("Load modules error!!") 
  exit() 
 
 
#define some datas 
SCREEN_WIDTH = 1366 
SCREEN_HEIGHT = 768 
LOW_SPEED = 30 
HIGH_SPEED = 30 
LOW_SIZE = 5 
HIGH_SIZE = 30 
FONT_SIZE = 40 
FONT_NAME = "myfont.ttf" 
FREQUENCE = 50 
times = 0 
 
 
#def random color 
def randomcolor() : 
  return (randint(0,255),randint(0,255),randint(0,255)) 
 
 
def randomspeed() : 
  return randint(LOW_SPEED,HIGH_SPEED) 
 
 
def randomposition() : 
  return (randint(0,SCREEN_WIDTH),randint(0,SCREEN_HEIGHT)) 
 
 
def randomsize() : 
  return randint(LOW_SIZE,HIGH_SIZE) 
 
 
def randomoname() : 
  return randint(0,100000) 
 
 
def randomvalue() : 
  return randint(0,9)#this is your own display number range 
 
 
#class of sprite 
class Word(pygame.sprite.Sprite) : 
  def __init__(self,bornposition) : 
    pygame.sprite.Sprite.__init__(self) 
    self.value = randomvalue() 
    self.font = pygame.font.Font(FONT_NAME,FONT_SIZE) 
    self.image = self.font.render(str(self.value),True,randomcolor()) 
    self.speed = randomspeed() 
    self.rect = self.image.get_rect() 
    self.rect.topleft = bornposition 
  def update(self) : 
    self.rect = self.rect.move(0,self.speed) 
    if self.rect.top > SCREEN_HEIGHT : 
      self.kill() 
#init the available modules 
pygame.init() 
screen = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT)) 
pygame.display.set_caption("HACKER EMPIRE CAPTION RAIN") 
clock = pygame.time.Clock() 
group = pygame.sprite.Group() 
group_count = SCREEN_WIDTH / FONT_SIZE 
 
 
#mainloop 
while True : 
  time = clock.tick(FREQUENCE) 
  for event in pygame.event.get() : 
    if event.type == QUIT : 
      pygame.quit() 
      exit() 
  screen.fill((0,0,0)) 
  for i in range(0,group_count) : 
    group.add(Word((i * FONT_SIZE,-FONT_SIZE))) 
  group.update() 
  group.draw(screen) 
 
  pygame.display.update() 
 
  #save pictures 
  #times += time 
  #if times > 5000 : 
    #pygame.image.save(screen,str(randomoname())+".png") 
 
 
###########################

效果图:

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

相关文章

  • Python生成截图选餐GIF动画

    Python生成截图选餐GIF动画

    本篇文章主要介绍了Python生成截图选餐GIF动画,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Python Web框架Pylons中使用MongoDB的例子

    Python Web框架Pylons中使用MongoDB的例子

    这篇文章主要介绍了Python Web框架Pylons中使用MongoDB 的例子,大家参考使用
    2013-12-12
  • python3爬取淘宝信息代码分析

    python3爬取淘宝信息代码分析

    本篇文章通过代码实例给大家分享了python3爬取淘宝信息的过程以及实例分析,对此有兴趣的朋友学习下。
    2018-02-02
  • python中异常捕获方法详解

    python中异常捕获方法详解

    异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置。下面介绍几种python中获取异常信息的方法,希望小伙伴们能够喜欢
    2017-03-03
  • Python使用OpenPyXL处理Excel表格

    Python使用OpenPyXL处理Excel表格

    这篇文章主要介绍了Python使用OpenPyXL处理Excel表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Flask框架踩坑之ajax跨域请求实现

    Flask框架踩坑之ajax跨域请求实现

    这篇文章主要介绍了Flask框架踩坑之ajax跨域请求实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 浅谈python for循环的巧妙运用(迭代、列表生成式)

    浅谈python for循环的巧妙运用(迭代、列表生成式)

    下面小编就为大家带来一篇浅谈python for循环的巧妙运用(迭代、列表生成式)。
    2017-09-09
  • python使用jenkins发送企业微信通知的实现

    python使用jenkins发送企业微信通知的实现

    公司使用的是企业微信,因此考虑Jenkins通知企业微信机器人的实现方式,本文主要介绍了python使用jenkins发送企业微信通知的实现,感兴趣的可以了解一下
    2021-06-06
  • Python实现CAN报文转换工具教程

    Python实现CAN报文转换工具教程

    这篇文章主要介绍了Python实现CAN报文转换工具教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python中对象的引用与复制的使用

    Python中对象的引用与复制的使用

    引用和复制是Python处理对象的重要概念,本文主要介绍了Python中对象的引用与复制的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12

最新评论