找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1593

积分

0

好友

205

主题
发表于 4 天前 | 查看: 14| 回复: 0

理论铺垫之后,大家最关心的问题一定是:这个项目开源吗?当然!

值此新年之际,我将这份源码作为礼物分享给大家,希望这只小宠物能为你的桌面增添一份乐趣与陪伴。

🤖 认识 PixelPal

PixelPal 是一款使用 RustBevy 游戏引擎开发的桌面宠物伴侣应用。

它与传统宠物游戏不同——你无需打开一个专门的窗口。它会以透明、始终置顶的形态“住”在你的桌面上,就像一个真正的数字小伙伴。

像素风格桌面宠物机器人界面截图

✨ 核心特性

🖥️ 桌面伴侣体验

  • 透明窗口:宠物悬浮在桌面上,背景完全透明。
  • 始终置顶:无论你在进行何种操作,它都会在最上层陪伴你。
  • 自由拖动:你可以将其放置在桌面的任意位置。
  • 轻量设计:窗口尺寸极小(140×180像素),几乎不会干扰你的正常工作。

💖 养成系统

你的像素宠物拥有三个核心属性,它们会随着时间自然变化:

属性 图标 说明
饥饿度 🍎 满足宠物的胃口 随时间下降,需要喂食恢复
快乐度 💕 让宠物开心 需要通过抚摸来提升
精力值⚡ 宠物的活力 让宠物休息来恢复

宠物的心情会根据属性状态动态变化:

  • 😊 开心 - 所有属性都很健康
  • 🍖 饥饿 - 肚子饿了
  • 😴 困倦 - 需要休息
  • 😢 难过 - 需要关爱

🎮 互动玩法

点击宠物或按下 Space 键,即可打开互动菜单:

按钮 功能
🍎 Feed 喂食恢复饥饿度
💕 Pet 抚摸增加快乐度
💃 Dance 来一段欢快的舞蹈
😴 Sleep 休息恢复精力
💬 Talk 和宠物聊聊天

🎯 小游戏

反应速度测试

按下 R 键即可启动反应游戏:

  1. 等待屏幕显示 “GO!”。
  2. 看到 “GO!” 后,尽快按下 Space 键。
  3. 程序会显示你的反应时间。

隐藏连招彩蛋 🥚

在 0.65 秒内连续点击宠物 3 次,可以触发一段隐藏的舞蹈连招!

🏆 成就系统

通过持续的互动与游戏,可以解锁各种成就:

成就 解锁条件
First Feed 第一次喂食
Pet Lover 抚摸宠物 10 次
Combo Starter 触发连招
Reflex Ace 反应时间 ≤ 350ms

🛠️ 技术亮点

PixelPal 是一个很好的 开源实战 范例,展示了现代 Rust 游戏开发的一些优秀实践。

技术栈

  • 语言: Rust (Edition 2024)
  • 引擎: Bevy 0.18 - 数据驱动的游戏引擎
  • 渲染: 支持透明窗口的跨平台渲染

架构设计

src/
├── main.rs          # 应用入口和系统调度
├── pet.rs           # 宠物状态和属性衰减逻辑
├── window.rs        # 窗口配置(透明、置顶等)
├── animation/       # 精灵动画系统
│   ├── mod.rs
│   ├── systems.rs   # 动画帧更新
│   └── types.rs     # 动作状态机
├── fun/             # 小游戏和成就系统
│   ├── events.rs    # 游戏事件定义
│   ├── state.rs     # 连招追踪、反应游戏、成就进度
│   └── systems.rs   # 游戏逻辑处理
└── ui/              # 用户界面
    ├── components.rs # UI组件标记
    ├── menu.rs      # 菜单交互逻辑
    ├── resources.rs # 菜单状态资源
    ├── setup.rs     # UI初始化
    └── status.rs    # 状态显示更新

设计亮点

  1. ECS 架构:充分利用 Bevy 的 Entity-Component-System 模式,实现高效的数据组织和系统调度。
  2. 状态机设计:动作切换(如 Idle → Acting → Idle)逻辑清晰优雅。
  3. 事件驱动:使用 Bevy 的 Event 系统有效解耦了不同模块的游戏逻辑。
  4. 资源管理:通过清晰的 Resource 抽象来管理全局状态,体现了良好的 后端 & 架构 设计思想。

🚀 快速开始

环境要求

  • Rust 1.85+ (Edition 2024)
  • macOS / Linux / Windows

构建运行

# 克隆仓库
git clone https://github.com/lispking/pixel-pal.git
cd pixel-pal

# 构建发布版本
cargo build --release

# 运行
cargo run --release

操作说明

按键 功能
鼠标左键(宠物) 切换菜单 / 触发连招
鼠标左键(空白) 关闭菜单
Space 切换菜单 / 反应游戏响应
R 启动反应游戏

新年新气象,愿这只小小的像素宠物能给你带来欢乐!

如果你对这个项目感兴趣,欢迎在 GitHub 上 Star ⭐、Fork 🍴 或直接贡献代码 💻。

Happy Coding & Happy New Year! 🎆

Made with ❤️ and Rust




上一篇:苹果3月4日邀请函曝光,iPhone 17e、新iPad与MacBook新品蓄势待发
下一篇:Agent Sandbox 技术选型深度对比:从 Firecracker、Kata 到 WASM 与 Unikernel 的机会
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 09:01 , Processed in 0.752930 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表