Test

Prompt

osu!mania 铺面预览工具 —— 规范化提示词 一、项目概述 用 Python + tkinter 开发一个桌面工具,读取 osu!mania(4K)铺面,按指定皮肤样式渲染为图片或视频,供预览使用。 窗口标题:osumania铺面预览工具 界面左上角标题文本:osu!mania预览工具(不带任何注释/说明文字) 单文件脚本,按版本号命名输出(见第七节) 二、输入与解析 项目 要求 铺面文件 .osu(mania 模式,key=4),示例目录:C:\Users\Administrator\Downloads\新建文件夹\2509179 压缩包导入 支持直接导入 .osz(本质为 zip);包内可能有多个 .osu,由用户选择要导出的难度 音频 读取包内名为 audio 的音频文件,作为可选背景音乐 背景图 读取铺面指定的背景图,作为可选项;勾选后必须在视频中实际显示 SV(变速) 解析时间点中的 SV 信息,用于变速渲染 三、皮肤与渲染规范(以 1920×1080 为基准) 总原则:模仿 skin.jpg 的展示样式,不是把 skin.jpg 当背景图加载。 元素 规范 背景 纯黑(勾选背景图时叠加铺面背景图) 轨道 4 条,单轨宽 146px;轨道之间无分隔线 轨道颜色 从左到右:1、4 轨 #ffffff;2、3 轨 #50dffd 普通 note 厚度 58px 长条(LN) 样式参考 skin-part.png,相邻轨道的长条之间无间隔线 判定线 样式参考 skin-judge.jpg,位于底部居中,距底端 89px 底部 去掉原来从右向左移动的进度条 判定行为: note 下落到判定线即被"接住",到达判定线立刻消失,不穿过判定线 长条结束后立刻消失,不得滞留在判定线处 下落速度: 单位:像素/ms(px/ms),界面文案与内部计算保持一致 默认 2.5 px/ms,用户可调整 SV 显示: 提供复选框"显示 SV",默认勾选;不勾选则按恒定速度渲染 必须正确体现变速效果,且不得出现 note 追及/重叠现象(采用按累计位移计算位置的方案,即此前确认的"方案 B") 四、视频导出规范 项目 要求 渲染区间 "从 X 秒开始,渲染 Y 秒",默认从 0s 开始渲染 30s 全部时长 提供复选框,勾选后渲染整张铺面 背景音乐 可选;按时间段渲染时音频也要同步截取并合入(之前多次出现无声,需重点验证) 导出位置 可自定义,默认为程序所在目录 文件名 铺面名 + 难度名 + 时间段,自动替换非法/特殊字符 进度显示 导出过程中实时更新进度条;完成后在窗口内显示提示,不弹窗 流畅度 导出视频播放不得卡顿(帧率/时间戳稳定) 文件占用 规避 [WinError 32] 另一个程序正在使用此文件:写入前释放句柄、使用临时文件再重命名等 性能 持续优化"铺面 → 视频"的转换效率(帧缓存、批量写入、减少重复绘制等),提速不能改动渲染效果 另:v0.1 阶段的"铺面转图片"功能保留。 五、界面(tkinter)规范 白色背景,布局精简紧凑,窗口尺寸缩小 所有复选框:勾选时显示 ✓,取消时为空 必备控件:导入 osu/osz、难度选择、下落速度(px/ms)、起始秒/渲染秒数、渲染全部、背景音乐、背景图、显示 SV、导出位置、进度条、状态文本 美化界面时不得改动渲染逻辑 六、历史问题清单(验收时逐项检查) 无法导出视频 导出写入失败(WinError 32) 皮肤与 skin.jpg 不一致(背景非纯黑、有分隔线、尺寸不对) 按时间段渲染后无背景音乐 视频卡顿 2、3 轨颜色未应用 #50dffd 勾选背景图但视频中未显示 导入变速图无变速效果 / 出现 note 追及 note 穿过判定线未消失;LN 结束后滞留 底部出现多余的移动条 七、版本记录 版本 主要内容 v0.1 读取 .osu,转图片,tkinter 界面,基础皮肤 v0.2 转视频,可选背景音乐 v0.4 皮肤尺寸修正、纯黑背景、去分隔线、时间段渲染、提速 v0.5 下落速度默认 2.5 v0.6 LN 无间隔线,窗口内提示,文件名带时间段 v0.6.1 提速(轨道颜色半成品) v0.6.4 支持导入 osz 后续 修复导出/文件占用、皮肤精修、可调速度、判定线 89px、px/ms 单位、背景图、SV、文件名规范、判定行为、UI 精简 八、可直接使用的最终提示词(一次性版本) 请用 Python(tkinter)编写一个单文件桌面工具 osumania铺面预览工具,功能如下: 输入:支持导入 .osu(mania 4K)或 .osz(zip)。osz 内若有多个 .osu,让用户选择难度;读取包内 audio 音频与铺面背景图;解析 SV。 渲染(1920×1080 基准):模仿 skin.jpg 的样式(不是加载它作背景)。纯黑背景,4 条轨道、单轨宽 146px、轨道间无分隔线;1、4 轨 #ffffff,2、3 轨 #50dffd;note 厚 58px;长条样式参考 skin-part.png,轨道间无间隔线;判定线参考 skin-judge.jpg,底部居中、距底端 89px;底部不要任何移动条。note 落到判定线立刻消失,长条结束后不滞留。下落速度单位 px/ms,默认 2.5,可调。复选框"显示 SV"默认勾选,必须正确体现变速且不出现 note 追及;不勾选则恒速。 导出:可输出图片或视频。视频支持"从 X 秒开始渲染 Y 秒"(默认 0s 起 30s)与"渲染全部";可选加入背景音乐(时间段截取时音频必须同步存在)与背景图(勾选后必须显示)。导出位置可选,默认程序目录;文件名为"铺面名+难度名+时间段"并自动处理特殊字符。导出时实时更新进度条,完成后在窗口内显示,不弹窗。视频需流畅不卡顿,规避 WinError 32 文件占用,并尽量提高转换效率。 界面:白色背景、布局精简紧凑;左上角标题"osu!mania预览工具",无注释;复选框勾选显示对勾。美化 UI 时不改渲染逻辑。 请输出完整可运行代码。

Drag to resize

Response not available

Drag to resize

Response not available

Drag to resize
Drag to resize
Drag to resize