花一小时,我写了个会满屏跑的桌面女友,不会编程也能做

0 阅读5分钟

这两天突然,电子宠物,电子女友这个话题爆火了,我看了一下网上的都是只说了一下使用codex做的,教程流程都没说清楚。

但是很多人可能没用过codex,难道就不能做吗,我今天给大家演示做一个免费的简易版的,当然大家可以后续自己优化。

技术选型:PyQt5 + 序列帧

最终我选了这套方案:

  • PyQt5:Python最成熟的桌面GUI框架,跨平台、文档全、代码简单
  • 序列帧动画:用5-8张连续动作的PNG图片,快速切换形成跑动效果

这套方案的核心代码只有200行左右,配合ai写代码,一个小时就能写一出一个示例版本。

如果你不是程序员,也不用着急,也能使用,但是前提是你需要先安装python环境,如果不会知道python是啥的可以去看一下,我的第一篇文章,有安装流程。

《微信自动发送消息工具,定时、定制内容,亲测好用。》

他的实现原理就是你小时候翻的那种动画书——每一页画一个动作,快速翻动就动起来了。

我这里也是一样:准备5张角色跑步动作的PNG图片,程序按顺序切换显示,配上位置的移动,就形成了“满屏跑”的效果。

为什么不用GIF?

GIF虽然省事,但没法控制翻转。跑动需要面向左时显示镜像,GIF做不到——用PNG序列帧可以动态翻转。

图片素材怎么办?

这是最容易被卡住的环节。

我不会画画啊!

别担心,我也一样。我的方案是:让AI画。

3.1 用AI生成一组动作图

打开你常用的AI绘图工具(豆包/ DALL-E / 文心一格 / 通义万相),输入这样的提示词:

请生成一组6张连续图片,展示一个二次元少女跑步的动画序列。角色形象:- 日系萌系风格,双马尾,粉色头发- 水手服,百褶裙- 大眼睛,表情元气- 透明背景,512x512动作分解(6张):1. 右腿前迈,左臂后摆2. 身体前倾,双臂摆动3. 双腿交替,头发飘起4. 重心转换,另一侧摆臂5. 继续迈步,表情专注6. 回到起步姿势,准备循环要求:6张图角色完全一致,只有姿势变化,形成连续跑动动画

生成后你会得到6张类似这样的图片(你的AI会帮你生成):

图片

我这里是为了演示,随便生成的一些图片,如果你们想要换成对象的,可以将你对象的照片发给ai,让他给你生成对应的卡通人物,再生成你想要的动作。

如果AI生成的图有背景怎么办?

我的经验是:在提示词里强调“透明背景”,大部分AI会处理。

如果不支持透明背景,用 remove.bg 这个网站一键抠图,几秒钟搞定,完全免费。

需要多少张图?

5-8张足够。

  • 5张:最简单的跑动循环,够用
  • 8张:动作更流畅,效果更好
  • 超过10张:边际效益递减,没必要

我之前试过用12张,并没有明显比8张好多少——而且图片越多,加载越慢。

我这里是用了五张,你们下载好代码之后,将这里依次替换成你们的图片就好,编号不要变。

图片

全部流程

代码直接私我:脚本,先下载到你的电脑上。

然后安装依赖,在cmd窗口输入

pip install PyQt5

接着就是放图片

在你的代码文件同级目录下,新建一个 images 文件夹,把图片按顺序命名为 1.png2.png3.png……5.png

最后只需要执行,就能直接跑起来啦。

python demo.py

图片

场景一:桌面陪伴

写代码的时候,余光瞟到一个小东西在屏幕边上跑来跑去。偶尔停下来看你一眼,偶尔跳一下。

心理体验是:“哦,有个小家伙陪着我。”

场景二:定时提醒

代码里内置了定时提醒功能:

        self.reminders = [            ("💧 该喝水啦!"1200),            ("🚶 起来走走吧!"3600),            ("👀 看看远方,休息眼睛!"1800),            ("☕ 要不要喝杯咖啡?"7200),        ]

你可以将脚本文件用txt方式打开,搜索喝水,就能找到这部分的代码,文字是提醒你改做什么了,后面的数字代表描述,例如,每20分钟就会提醒你要喝水了

到点了,她会弹出气泡提醒你该动了。

比手机闹钟温柔一万倍。

05 使用说明

正常你点击一下他就会自己跑动,再次点击,就会停止跑动,双击会和你说话。这些内容都可以自己在代码里面修改。你如果懂技术可能知道怎么改,如果你不懂的话还是像我刚刚说的那样,txt打开之后搜索文字,将内容换成你想要的替换即可

最后

做这个项目最大的收获,不是代码本身,而是一个认知:

有时候,你不需要做一个完美的产品。

偶尔一个简简单单的小程序,也能让这么多人喜欢。

有人会觉得很幼稚,但是有人也会觉得能提供情绪价值。

如果你在运行中遇到任何问题,欢迎在评论区留言,我看到都会回复。

如果你也做了自己的桌面宠物,记得发出来让大家看看——我很期待看到你的版本。