Skip to content
haichaojiang01-stackPublic

About

pettime

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

江螂桌宠 · 动态版

从 GitHub 下载源码后,在 Windows 上双击 Start-Roach.cmd 会自动调用系统 .NET Framework 编译器生成 EXE 并启动;也可以运行 Build.cmd 手动构建。仓库不提交编译后的 EXE。图片已内嵌到生成的 EXE,不依赖运行目录中的 assets 文件夹。没有常驻控制台;同一登录会话只运行一个新版实例。

首次启动时桌宠会在屏幕上出现。再次双击程序会把它召回鼠标所在屏幕中央;双击托盘图标也可以召回。重复启动不会静默退出。启动及召回记录保存在 runtime.log;异常会显示错误对话框。

  • 六条腿采用交替三足步态,有 72 个爬行姿态,动作按实际行走距离推进。
  • 48 个待机帧用于触角探测;停下来时腿停止划动。
  • 行为包括短程试探、停顿、疾跑、渐进转向、边缘避让和鼠标靠近时逃离。
  • 鼠标连续追逐时,第 3 次躲避开始有 12% 概率飞起撞屏,此后每次连续追逐增加 10 个百分点,最高 70%;5 秒没有追逐就清空计数。躲避反应会随机选择停顿、慢爬或短距离逃跑。
  • 使用逐像素 Alpha 透明窗口,不使用紫色底或透明色键。
  • 左键拖动,右键调整大小、活跃程度、暂停或退出。系统托盘也提供菜单。
  • 默认活跃程度为“活跃”,启动后即按该节奏活动。
  • 拖到另一块显示器后,会在该显示器的可用区域活动。
  • 右键选择“投喂一粒面包屑”;蟑螂走近并完成进食后,好感度增加 3–5 点并保存到当前 Windows 用户配置中。投喂有足够的寻食时间,进食计时不会再被误判为超时。
  • 右键菜单会显示好感度和当前亲近程度。喂食后蟑螂会依好感度做出不同强度的兴奋反应;好感度越高,飞行和飞扑概率越高。
  • 双击成虫或任意小蟑螂会播放 16 帧碾碎动画,随后成虫分裂出 10 只无翅若虫;每只若虫再次被双击,会分裂出 8–12 只。碾碎和起飞帧按各自虫体面积缩放,切换动作时不会突然变大。
  • 若虫会分别选取屏幕各处作为随机游走目标、避开同伴,并间歇随机起飞;分裂数增加后会逐步扩散到整屏,飞行与爬行交替出现,动画过程中不显示文字。
  • 同时最多显示 72 只分裂出的若虫;达到上限后,较早出生的若虫会淡出,为后续分裂腾出位置。
  • 碾碎后若虫从最小尺寸 0.24 开始,从各自出生时间计时,每满 1 分钟长大一级,共 6 级;第 6 分钟达到默认成虫大小,不会超过初始成虫尺寸。
  • 成虫右键菜单仍可选择“立即演示飞扑”;正面飞扑由五种完整透明姿态生成 72 帧,包含地面爬行、低伏蓄力、离地转向、上拍、下拍和蹬腿,播放约 24–30 帧/秒。姿态按同一身体锚点对齐,保留透明边距并压低了翅膀高光;蟑螂先从当前爬行方向低伏蓄力,再逐渐转向屏幕并扑近。速度随机分为正常、快和极快三档;连续躲避鼠标触发的撞屏也会使用该动作。
  • 若虫数量增加时,共用一个群体更新器并按数量降到约 30、20 或 15 帧/秒;透明窗口的 GDI 位图和图形对象会复用,减少逐虫计时器与每帧资源分配。
  • 撞击会出现短暂的多级分叉裂纹与快速消退的撞击高光,裂纹形态在动画中保持稳定。
  • 桌面不会受真实损坏;裂纹是覆盖在桌面局部的短暂透明动画,点击仍会传给下方应用。

外观由生成的写实身体纹理和程序绘制的分节腿、触角组成,是二维骨骼动画。默认身体较小,可从右键菜单放大观察。

文件与构建

RoachPet.cs 是完整源代码;assets/body-clean.png、assets/pounce-atlas.png、assets/front-pounce-base.png、assets/front-pounce-upstroke.png、assets/front-pounce-downstroke.png、assets/front-pounce-crouch.png、assets/front-pounce-transition.png、assets/crush-atlas.png 和 assets/nymph-body.png 会在构建时嵌入 EXE。运行 Build.cmd 可使用 Windows .NET Framework 自带编译器重新构建;若旧版桌宠正在运行,请先从托盘退出,再启动新版 RoachPet_DoubleClick.exe。

RoachPet_DoubleClick.exe --export 导出 72 个成虫爬行帧、48 个若虫爬行帧、成虫正面/侧面飞扑与碾碎序列图,以及多背景合成图到 preview。

RoachPet_DoubleClick.exe --smoke 临时运行 6 秒,检查分层窗口提交和移动,记录到 preview/smoke.txt 后退出。

About

pettime

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages