教你用 Python 实现抖音热门表白软件
之前在群里看到有人发了一个抖音上很火的小视频,就是一个不正经的软件,运行后问你是不是愿意做我的朋友,但你没法点击到「不同意」!并且没办法直接关闭窗口!
很不正经,很流氓,有点适合我。
效果大概是这样的:
我要做一个高仿版的!
实现思路
首先我想到的就是 pygame 实现,因为之前很多人都用它「打过飞机」,不对,是做「打飞机」的游戏,因此多少有些熟悉。
其实思路很简单,就是探测鼠标位置,当鼠标跑到按钮上面时,随机改变按钮的位置。
剩下的就是组件的布局样式了!
这里我在网上找了一个小图片,放在左方,然后中间位置放置两行文字,下方放置两个按钮,最终布局如下:
主要实现逻辑
实现流程大致如下:
主要的逻辑就是鼠标移动到按钮上时,按钮的位置进行随机的变动。
如何判断鼠标在按钮上?看下出自灵魂画手的示意图:
代码实现也很简单:
# 生成随机的位置坐标
def get_random_pos():
x, y = random.randint(20, WIDTH-20), random.randint(20, HEIGHT-20)
return x, y
# 获取鼠标位置
# 若鼠标位置位于按钮区域内
# 则随机生成按钮位置进行显示
mouse_pos = pygame.mouse.get_pos()
if mouse_pos[0] < unlike_pos_x+unlike_pos_width and mouse_pos[0] > unlike_pos_x and\
mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y:
while True:
unlike_pos_x, unlike_pos_y = get_random_pos()
if mouse_pos[0] < unlike_pos_x+unlike_pos_width and mouse_pos[0] > unlike_pos_x and\
mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y:
continue
break
看着有点乱,但其实就是上图的公式。
实现效果
最终实现效果:
最后,把我们的程序打包成 exe,当然,需要附上图片和字体文件。
不会代码打包的可以参考之前的文章:
1、 使用 PyInstaller 打包 Python 程序
2、 使用 py2exe 打包 Python 程序
程序和最终的 exe 文件,关注下方公众号,回复【表白】即可获取。
另外,据说 tkinter
也能实现,改天研究下~
教你用 Python 实现抖音热门表白软件的更多相关文章
- Vegas教程:教你制作抖音热门人物穿越门窗特效
抖音上经常会有很多特效视频,例如换妆.分镜.合拍.放大等,合适的特效总是会让视频更加出彩.这些特效,除了一部分是抖音自带以外,很多都是用的其他视频特效软件制作而成.这些视频编辑软件操作简单易上手,强大 ...
- Python实现抖音关键词热度搜索小程序(附源码)
今天给大家带来一个抖音热词小程序,废话不多说,直接上代码 import requests import json import urllib.parse import time ''' python知 ...
- Python 爬虫——抖音App视频抓包
APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...
- Python爬虫-抖音小视频-mitmproxy与Appium
目的: 爬取抖音小视频 工具: mitmproxy.Appium 思路: 1. 通过 mitmproxy 截取请求, 找出 response 为 video 的请求. 2. 通过 mitmdu ...
- 抖音热门BGM爬虫下载
下午无聊在某网上刷了会儿抖音,发现有些音乐还是挺好听的,可以用来做手机铃声,于是想办法从某网上把歌曲爬下来 附上代码: #!/usr/bin/env python # -*- coding: utf- ...
- 用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...
- python爬虫——抖音数据
最近挺火的抖音短视频,不仅带火了一众主播,连不少做电商的也进驻其中,于是今天我来扒一扒这火的不要不要的抖音数据: 一.抓包工具获取用户ID 对于手机app数据,抓包是最直接也是最常见的手段,常用的抓包 ...
- python爬虫抖音 个人资料 仅供学习参考 切勿用于商业
本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...
- Python之抖音快手代码舞--字符舞
先上效果,视频敬上: 字符舞: 代码舞 源代码: video_2_code_video.py 1 import argparse 2 import os 3 import cv2 4 import s ...
随机推荐
- 安装MySQL的详细步骤
安装步骤如下: 1.打开网址:http://www.mysql.com/ ↓ 2.选择“Download”->“Windows”(此安装步骤只是在Window10 中进行,如有需要,其他系统可参 ...
- 【HackerRank】The Love-Letter Mystery
James找到了他的朋友Harry要给女朋友的情书.James很爱恶作剧,所以他决定要胡搞一下.他把信中的每个单字都变成了回文.对任何给定的字符串,他可以减少其中任何一个字符的值,例如'd'可以变成' ...
- Django-实现图片验证码
Django实现图片验证码 Python生成随机验证码,需要使用PIL模块. pip3 install pillow 1.基本使用 1. 1 创建图片 from PIL import Image im ...
- Django-Ajax进阶
一.Ajax上传文件 1.form表单上传文件 文件和其他的数据类型不一样,是一个二进制的形式 Form上传文件的时候切记要加上:enctype="multipart/form-data&q ...
- HGVS的变异格式
符号: 1.HGVS的变异格式由两部分组成: 1.1 reference sequence file identifier (accession.version-number) : actual d ...
- 20165101刘天野 2017-2018-2 《Java程序设计》第3周学习总结
20165101刘天野 2017-2018-2 <Java程序设计>第3周学习总结 编程语言的几个发展阶段 类 构造方法与对象的创建 类与程序的基本结构 参数传值 对象的组合 实例成员与类 ...
- 关闭Selinux 命令
在nginx 配置文件中,新增location中的内容,完成后,web上403报错 方法:关闭Selinux即可. Follow below steps: 虚拟机服务器环境补充: # vim/etc/ ...
- 分开统计的sql写法
DECLARE @StartDate DATETIME= '2017-10-13 00:00:00';DECLARE @EndDate DATETIME= '2017-11-13 23:00:00'; ...
- libvirt/qemu特性之numa
博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! Numa 查看主机node情况 使用virsh命令查看 virsh # c ...
- 设置浏览器地址栏URL前面显示的图标
其实很简单,你只做个ico图标,命名为favicon.ico,把它传到你的页面下面. 并在相应的页面里加上代码 在页面<heah></heah>之间加, <link r ...