PhigrosPlayer
所属分类:Python编程
开发工具:Python
文件大小:0KB
下载次数:0
上传日期:2024-05-13 06:23:12
上 传 者:
sh-1993
说明: 这是一个使用Tkinter实现的Phigros谱面的模拟器 / This is a simulator of the Phigros beatmap implemented using Tkinter, stars:1, update:2024-05-12 13:36:24
文件列表:
Resources/
7z.dll
7z.exe
Chart_Objects.py
ConsoleWindow.py
Const.py
Create_Video.py
Find_Files.py
Main.py
PlaySound.py
font.ttf
icon.ico
psm.py
requirements.txt
# 这是一个使用Tkinter实现的Phigros谱面的模拟器
## 安装依赖
```
pip install -r requirements.txt
```
## 运行
```
python Main.py
```
## 兼容性
- 目前只有Phigros的官谱 且只支持```formatVerison```为```1```或```3```的谱面
- 目前只能读取谱面中的```info.csv```
## 已知问题
- 有概率在启动时窗口无响应
- ~~```Note```无法在判定线旋转时贴图进行旋转~~
已解决
- 谱面中```Hold```无法生成对应的贴图
- 判定线有严重的锯齿问题
## 命令行参数
- ```-hideconsole``` 隐藏控制台
- ```-clear``` 让程序在清理临时目录完成后退出
- ```-debug``` 显示定位点
- ```-combotips
``` 设置连击下的提示 默认为```Autoplay```
- ```-fps ``` 设置帧率 默认为```120``` tips:可以使用```-fps "float('inf')"```解除帧率限制
- ```-showfps``` 在标题栏显示帧率
- ```-loop``` 循环播放
- ```-fullscreen``` 全屏
- ```-hidemouse``` 隐藏鼠标
- ```-nofcapline``` 去除```FC/AP```指示器 默认开启```FC/AP```指示器
- ```-noclickeffect``` 关闭点击特效
- ```-holdbody``` 显示```hold```的中间部分
## 编写时的一些坑
- ```tkinter.Canvas``` 的 ```create_line``` 方法 的 ```smooth``` 参数不生效 T_T
- 为 ```note``` 的点击特效增加随机的 正方形扩散时的问题:
- 资源加载时间增加十几秒
- 渲染性能跟不上
- 在为 ```note``` 渲染添加缓存后 发现效率更慢了...
- 尝试使用 ```PIL.ImageTk.PhotoImage``` 为判定线 添加抗锯齿 (使用```PIL.ImageDraw```来绘制线条 再用 ```PIL.Image.Image.resize``` 方法添加抗锯齿) 时 发现:
- 效率实在不行
- 渲染不完整就下一帧了 而且无法知道是否渲染完整 所以只能增加图片大小 将原图片放在中间 然后进行渲染 后果: 效率更不行了!!!
- 尝试使用 ```PIL.Image.Image.rotate``` 旋转 ```note``` 时 发现:
- 效率实在不行
- 锯齿明显
- 最后!!!! -> 在加载资源时处理旋转...
## 声明
- 此项目仅用于学习交流,请勿用于商业用途
- 如有侵权 请联系删除: qaq_fei@163.com 或直接提issue
###### 吐槽一句 tkinter.Canvas 效率感人
近期下载者:
相关文件:
收藏者: