Python pygame框架实现屏幕数字雨特效

Python pygame框架实现屏幕数字雨特效

import pygame  # 导入pygame模块
import random  # 导入random模块
pygame.init()  # 初始化pygame
FONT_PX = 20  # 设置字体像素(大小)
SRCEEN = pygame.display.set_mode()  # 显示窗口
font = pygame.font.SysFont('arial', 20)  # 设置系统字体(字体,大小)
suface = pygame.Surface((1500, 800), flags=pygame.SRCALPHA)  # 调用 pygame.Surface() 创建一个新的图像对象
# Pygame 的 Surface 对象用于表示任何一个图像,Surface 对象具有固定的分辨率和像素格式。
pygame.Surface.convert(suface)  # 修改图像(Surface 对象)的像素格式
suface.fill(pygame.Color(0, 0, 0, 28))
SRCEEN.fill((0, 0, 0))  # 窗口填充颜色为黑色
texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)]
# 使用0--9数字定义文字列表,调用字体方法进行渲染为绿色
column = int(1500 / FONT_PX)  # 计算出现最大出现几列
drops = [0 for i in range(column)] # 计算出现最大出现几列坐标并生成列表
while True:
    for event in pygame.event.get():  # 监测窗口关闭事件
        if event.type == pygame.QUIT:
            exit()
    pygame.time.delay(60)  # 暂停程序一段时间
    SRCEEN.blit(suface, (0, 0))  # 将图片绘制到窗口中左上角坐标为0.0
    for i in range(len(drops)):  # 取任意一列坐标
        text = random.choice(texts)  # 随机从文字列表选择数据
        SRCEEN.blit(text, (i * FONT_PX, drops[i] * FONT_PX))  # 将图片绘制到窗口中左上角坐标为该列的左上角坐标
        drops[i] += 1 
        if drops[i] * 10 > 800 or random.random() > 0.95:  # 控制数字延伸长度
            drops[i] = 0
    pygame.display.flip()  # 更新全部显示

在这里插入图片描述实现效果图

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu上使用Python控制Arduino中的舵机,需要进行以下步骤: 1. 连接Arduino板和舵机:将舵机的信号线连接到Arduino板的数字引脚上,记住引脚的编号。 2. 在Ubuntu上安装pyserial模块:pyserial是Python的一个串口通信库,可以用来与Arduino通信。可以使用以下命令在Ubuntu上安装: ``` $ sudo apt-get install python3-serial ``` 3. 在Arduino IDE中编写程序:编写一个简单的Arduino程序,通过串口接收来自Python的指令,并控制舵机旋转。例如: ``` #include <Servo.h> Servo myservo; // create servo object to control a servo int pos = 0; // variable to store the servo position void setup() { Serial.begin(9600); // initialize serial communication myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { if (Serial.available() > 0) { // if data is available int angle = Serial.read(); // read the incoming byte pos = map(angle, 0, 180, 0, 180); // map the angle to servo position myservo.write(pos); // set servo position } } ``` 4. 在Python中编写控制程序:编写一个Python程序,通过串口向Arduino发送指令,控制舵机旋转。例如: ``` import serial import time ser = serial.Serial('/dev/ttyACM0', 9600) # open serial port time.sleep(2) # wait for Arduino to reset while True: angle = input("Enter angle (0 to 180 degrees): ") ser.write(angle.encode()) # send angle to Arduino ``` 将上述Python程序保存为一个文件,例如control_servo.py,然后在终端中运行以下命令即可控制舵机: ``` $ python3 control_servo.py ``` 在程序提示符下输入舵机角度即可控制舵机旋转。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值