python实现黑客字幕雨效果
时间:2019-04-20
本文章向大家介绍python实现黑客字幕雨效果,主要包括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") ###########################
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hive查看表/分区更新时间
- 直接通过手机抓取GPS的qxdm日志
- uniapp常用提示框uni.showToast(OBJECT)
- MySQL 索引(3)
- TS 设计模式04 - 适配器模式
- WebRTC | 原理、架构、框架目录、运行机制、核心类、PeerConnection调用过程等详解
- sql注入总结笔记
- WebRTC | Web服务器原理、Nodejs工作原理、Nodejs事件处理流程、V8引擎等要点解析
- OpenGL ES 3.0 | 围绕HelloTriangle实战案例 展开 渲染流程分析
- 基于 Kotlin + Netty 实现一个简单的 TCP 自定义协议
- dnslog带出——sqli-labs第8关
- Boolean源码解剖学
- SpringBoot+Mybatis整合出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found
- xss-labs第1~13关
- 在虚拟机上搭建xss平台