作者:狗头人 www.wolfchen.top
QQ群:980897840
我的好朋友大菜刀很想养一只猫,可是她太菜了,不能养猫,于是我决定做一只给她。
第一阶段,完成一个能走能跳能睡觉,可抓鼠标会吃图标,点一点它还能在地上打滚的猫猫,现在进度大概80%了。
第二阶段,希望能做出一个,每个人都可以随便涂涂画画,就能生成自己的专属猫猫的软件。
第三阶段,是加上一点点社区功能,好友之间可以分享宠物,或者去串门。
“我的梦想,是让每个人都可以轻松地制作属于自己的桌宠!”
如果有人想一起监工,或者想帮忙画一点东西,抑或是想做一个自己的宠物,欢迎加qq群讨论
接下来
制作设置面板
优化猫猫动画,增加爬墙动作
添加2~3个宠物
创意工坊和模型生成器
日期 | 完成事项 | 新知识 |
---|---|---|
2023.06.06 | 修bug | 由于B站绘画UP主【Maxwell_Who】画了一只猫猫,导致大量mac用户发现了这个项目,进而发现了一堆bug,于是本着【没发现就是不存在,发现了一定得修】的精神,我被迫修复了这些bug。啊,好烦,不想工作,想专心做桌宠,然后再弄个鼠标皮肤的商店,类似wallpaper engine,就叫mousepaper engine吧,然后画个拿宝剑的波吉逗猫,嗯……挺好。 |
2023.02.16 | 寻求帮助 | 找远在美国的灰灰买了chatgpt的plus会员,让chatgpt4看看我的代码怎么优化,他果真看不懂。这下地球上没人看得懂我的代码了,不瞒你们说我自己都看不懂了。但是我问了问他这个项目逻辑,他说我的逻辑没什么问题,吃cpu和硬盘也是正常的,我觉得他在扯淡。 |
2023.01.31 | 探索 | 吃CPU和硬盘的问题,问了zzt,他说:“在get_pet_image 维护两个 dict,一个是 path Image 另一个是 path Timeout,过期 移出path 跟 image,热点图片就缓存下去了,还要记着加锁。” 我听不懂,所以假装没听见。 |
2022.10.07 | 思考 | 思考了半年哦,想了很多东西,包括这个项目现有的不足,未来要实现的功能,以及俄乌冲突,中美贸易战,房价,就业率,生育率,结婚率,离婚率,人口老龄化之类的东西……嗯,都很值得思考。关键部分基本想通了:首先,为了日后兼容一些半透明的部位,肯定是不能用gif,得用png才行;其次,不能一直切换图片路径,应该先把所有图片载入内存,然后再显示。目前的图片轮播实现方式,占用CPU过高,且一直读取图片,对机械硬盘也不太友好,需要重构。 |
2022.04.14 | 修bug | 学会了在不同class之间调用function以及config.write的时候设置编码(其实很简单,凭直觉写了一下就对了,连文档都没查) |
2022.03.09 | 开工一个月纪念日!今天看了一下shimeji……嗯,不瞒你们说,因为不喜欢java,这是我第一次看shimeji,之前是有些闭门造车,挺多shimeji现有功能都没考虑到;不过有一个很巧的事情,就是我的桌宠可以兼容shimeji的模型……嗯,那如果要兼容shimeji模型的话,目录结构就不能修改了。那就按这个结构做下去吧!之后或许会加入一些自动识别动作个数的功能。 | 拓展了见识,以后做项目,一定要先充分了解市面上现有产品再开始做,不可做闭门造车的井底之蛙。 |
2022.03.08 | 用翻转左走图片,做了临时的右走动画 | 学会了如何翻转图片 |
2022.03.07 | 修复bug | 不要忘记初始化self.is_follow_mouse |
2022.03.02 | 制作了【设置面板】,这样就不用修改配置文件了,方便了许多。 | "学习了qt designer的使用,以及如何导出ui文件,如何添加qrc 学习了emit和QtCore.pyqtSignal,理解了connect的逻辑。了解了如何把ui文件和qrc文件转成py并导入到项目中去" |
2022.03.01 | 修复bug | |
2022.02.28 | 休息一天 | |
2022.02.27 | 休息一天 | |
2022.02.26 | 项目结构改动会影响加载速度,需要重新考虑一下,暂时调整回原来的样子 | 学会了configparser的读写 |
2022.02.20 | "这几天吃不好也睡不好,每天都在想这个猫猫。有很多问题,现有结构是没法实现的,比如mac的适配,开始菜单的置顶,切换宠物之类的功能,因为多套了一层窗口,很多东西想优化却无从下手,所以决定进行一次重构。 经过这几天的努力,完全重构了猫猫,彻底理解了pyqt5的逻辑关系,并确定了今后的项目数据结构。顺手解决了mac的兼容性问题,添加了几个功能和参数,并修复了切换宠物、放大缩小等功能里的bug。" | "python中遍历目录下的文件并排序 pyqt5在mac中的使用 " |
2022.02.19 | 休息一天 | |
2022.02.18 | 画了一个走路的猫脑袋。更新了歪脑袋的动作,以及很多你们感觉不到但是我真的做了的细节优化,提升了运行效率和内存占用量 | 画画的水平得到了轻微的提升 |
2022.02.17 | 完成了拎起来和掉落的动画,优化了动画播放逻辑 | 在CC的帮助下,添加了一个类,实现了lambda传参的问题 |
2022.02.16 | 试图制作快速选择宠物的菜单 | 学习了qt二级菜单和lambda,但是lambda没啥卵用,不知是有bug还是机制问题,后续将用QButtonGroup尝试 |
2022.02.16 | 完成了猫猫眨眼的动画,并添加了把猫猫丢来丢去的功能,同时完善了配置文件的使用逻辑,修复了许多bug | 写了一个小小的物理引擎,复习了等比数列的相关公式,意识到我的数学是挺菜的。 |
2022.02.15 | 把猫猫站立姿态的素材处理完了,并绑定了骨骼 | 复习了AN的骨骼操作 |
2022.02.14 | 吸附底端、自由掉落以及左右移动的功能完成了。开始制作动画以及画猫猫。 | QDesktopWidget().screenGeometry()以及QDesktopWidget().availableGeometry(),可以分别获取屏幕尺寸和桌面尺寸(去掉开始菜单) |
2022.02.13 | Demo制作完成 | 原来俺真的可以做一个桌宠 |
2022.02.13 | 可以正常显示了! | pyqt5全屏显示、背景透明、label以及Qpixmap |
2022.02.10 | 决定将制作工具从unity改为python,虽然做起来更难了,但是后续可以增加更多功能,比如吃桌面上的图标。 | pyqt5的安装与基础使用 |
2022.02.09 | 《刀刀的猫猫》正式立项,决定使用Unity制作 | Unity里给camera增加代码制作背景透明的效果 |
windows用户直接双击【pet.exe】就可以运行啦,如果需要多只,多点几次即可。
辣鸡苹果的用户请查看【mac运行指南.txt】,自己下个python,装2个包,改一行代码,编译运行。后期应该会打包辣鸡mac的dmg,反正现在是有点bug,还在研究中。
可直接进入对应文件夹修改图片;如需增减图片,需要修改文件夹中petconfig.ini文件(双击用文本文档打开即可),配置文件内有注释,对着修改每个状态对应的文件名即可。
需要在config.ini文件中(右键》编辑,用文本文档打开即可),添加一个宠物的id,并前往data文件夹中添加一个和id对应的文件夹,并添加参数文件(从其他宠物的文件夹复制一个petconfig.ini过来)和图片。
后期计划制作模型生成器和共享宠物的平台,希望日后可以很方便地创建或下载自己想要的宠物。
不过设置面板很快就好了,之后就不用去改文件啦。
设置面板做好了,修改宠物的话直接在设置面板修改即可。不过添加宠物可能还是要改改配置文件。
[config]
petids=1,2,cat1
petid=cat1
traypath=./data/tray.png
[config]
petname=Black Cat
petscale=0.15
bottomfix=0
dragspeedx=0.5
dragspeedy=0.3
throwout=yes
intotray=no
gravity=4
gamespeed=10
petaction=stand,walk,walkright,drag,falling
petspeed=5
petactionnum=1,26,1,5,1
petactionrate=0.95,0.05,0
dragingfixx=0
dragingfixy=1000
standaction=stand,blink,shake
standactionnum=1,12,12
standactionrate=0.9,0.05,0.05
本项目由想养猫又养不了的大菜刀独家逼迫狗头人完成
早期参考了以下两个项目的框架
https://github.com/Laylar-sleep/DesktopPet
https://github.com/SpeedPromise/DesktopPet
xixi提供了切换宠物的代码思路
Maggie的鼓励
帮忙找bug的ZZP-DMU
建议在初始化中添加is_follow_mouse的F
B站绘画UP主【Maxwell_Who】的宣传!
以及大菜刀的逼迫!
还有各位小伙伴的支持!