纳芥开发手记:从PyQt6到Electron的技术升级与实践展示
纳芥开发手记:从PyQt6到Electron的技术升级与实践展示 一次基于AI辅助的现代化桌面应用开发实践,附界面截图实录 引言:技术理念的视觉化呈现在经历了「启界」和「账号管家」两个PyQt6项目的开发后,我决定用Electron + React + Vite技术栈重新打造「纳芥」。这次升级不仅仅是技术架构的变更,更是用户体验的全面提升。下面通过实际界面截图,展示这个开发历程的成果。 纳芥主界面 - 现代化的毛玻璃设计,清晰的模块布局 技术升级:从PyQt6到Electron的华丽转身为什么选择Electron?在开发「启界」和「账号管家」时,PyQt6虽然提供了快速的开发体验,但在界面美观度和跨平台一致性方面存在明显不足。Electron带来的改变是颠覆性的: 界面现代化:React生态允许使用现代UI组件库 开发效率:Vite的热更新让开发体验流畅无比 跨平台一致性:一次开发,多平台部署 技术架构决策12345纳芥技术架构:├── 前端层:React 18 + TailwindCSS├── 构建层:Vite 6.0├── 桌面层:Electron 33└── AI集...
技术实践与理念回归:从「启界」「账号管家」到「纳芥」的思考
实践起点:两款本地客户端的真实开发经历半年前,我基于一个简单的信念开始了实践:个人数据应该由个人掌控。这个信念催生了两款具体的桌面客户端应用。 「启界」:个人数字工作台的初探 技术栈:Python + PyQt6 核心功能: AI对话助手(接入大模型API) 个性化网站导航 本地记事本与知识管理 设计理念:所有数据本地存储,拒绝云端依赖 「账号管家」:数字身份的安全守护 同技术栈:Python + PyQt6 核心功能: 本地密码与账号信息加密存储 一键填充登录助手 密码强度分析与生成 安全原则:端到端加密,数据永不上传 这两款应用虽然界面朴素,但都是完整可用的产品。我在日常使用中深刻体会到本地化带来的安全感和掌控感。 技术验证:PyQt6的实践收获通过这两款应用的开发,我获得了宝贵的一手经验: PyQt6的优势验证 快速原型:能够快速将想法转化为可运行的程序 Python生态:丰富的库支持,特别是AI相关的集成 跨平台能力:一套代码可以在Windows、macOS、Linux运行 遇到的技术瓶颈 界面现代化:相比Web技术,实现精美UI的成本较高 性能优化:内存管...
《喵喵乐园》开发记:从理想需求到务实实现
《喵喵乐园》开发记:从理想需求到务实实现 在追求完美的道路上,有时候退一步反而能海阔天空。 理想很丰满:多窗口的鼠标穿透难题最近在开发桌面小宠物游戏《喵喵乐园》时,我遇到了一个看似简单却颇为棘手的问题:如何在桌面上实现多个窗口,并且让鼠标事件能够穿透透明区域? 最初的想法很美好——让多个宠物窗口漂浮在桌面上,用户点击透明区域时能够直接操作底层应用,只在点击宠物身体时才触发交互。这听起来很酷,但实现起来却让我折腾了整整一天。 现实很骨感:AI的局限与我的困惑作为Godot的新手,我首先想到的是借助AI来快速解决问题。但事实证明,即使是强大的AI,在面对复杂的窗口管理和事件传递问题时也会显得力不从心。 AI给出的方案要么过于复杂,要么根本无法正常工作。在反复尝试无果后,我意识到:有时候,简化需求比追求完美解决方案更重要。 转折点:务实的选择经过一天的挫败,我决定退而求其次: 放弃鼠标穿透:暂时不考虑透明区域的点击穿透 专注窗口管理:先把多个独立窗口的运行机制搞明白 自己动手编码:既然感觉不难,就亲自实践 这个决定让我很快看到了进展。有时候,在技术开发中,知道什么时候该放弃比知...
Godot桌面游戏开发:草坪上的野猫动画实现
Godot桌面游戏开发:草坪上的野猫动画实现最近使用Godot引擎开发一个桌面放置游戏,其中一个核心功能就是让野猫在草坪上自由活动的动画系统。这是一个很有意思的技术实现,下面分享整个开发过程。 动画系统设计1. 猫的序列帧动画首先我为猫角色设计了8个序列帧动画,每个动画都包含了完整的动作循环: 站立状态 (2个序列帧) 行走状态 (3个序列帧) 躺卧状态 (3个序列帧) 这些动画通过Godot的AnimatedSprite2D节点实现,确保动画过渡自然流畅。 2. AI驱动的状态机为了让猫的行为更加自然,我使用AI辅助编写了一个智能状态机: 12345678910111213141516171819202122# Godot伪代码示例extends Node2Denum CatState { IDLE, WALK, REST }var current_state = CatState.IDLEfunc _process(delta): # 随机切换状态,增加行为不可预测性 if randf() < 0.02: curre...
AI辅助开发实践:从Godot需求到自制切图工具的完整流程
AI辅助开发实践:从Godot需求到自制切图工具的完整流程缘起:一个具体的开发需求最近在开发Godot桌面宠物项目时,遇到了一个看似简单却颇为棘手的问题:需要将一张包含猫的8个动作、每个动作4帧序列帧的图片合集,精确切分成8×4=32个小图片。 传统方案与AI时代的思考面对这个问题,传统解决方案有很多: 使用Photoshop手动切分 寻找在线图片处理工具 下载专门的切图软件 然而,当我打开一个在线图片编辑工具时,发现它竟然没有批量切分图片的功能。这让我开始思考:在AI编程时代,我们是否还需要依赖现成工具? 理论上,最简单的解决方案是让AI助手编写一个Python脚本: 1234# 伪代码示例def split_image(image_path, rows, cols): # 读取图片,按行列切分,保存小图 pass 但这次,我决定在自己的AI对话平台上,开发一个完整的工具类网页应用。 构建个人AI工作台的完整流程1. 平台搭建与项目管理 首先在AI对话平台上创建工具类项目mytools,这是一个专门用于积累实用工具的平台。 2. 子应用创建与组织...
Godot桌面宠物Demo开发:透明窗口与鼠标交互初体验
Godot桌面宠物Demo开发:透明窗口与鼠标交互初体验今天花了一整天的时间阅读Godot文档,说实话,有些部分可能是机翻的缘故,理解起来确实有些费解。不过文档内容实在太多,我也只是快速浏览了大部分,主要是为了在脑海中留下印象,等真正遇到问题时能想起来文档中有相关的内容。 当然,光看不练假把式,所以我决定动手实践一下。我计划做的第一个项目是一个桌面宠物,最基本的功能要实现半透明窗口和鼠标交互操作。 快速原型开发在昨天demo的基础上,我借助文档很快搭建了一个应用程序。这个demo虽然简陋,但成功验证了几个关键功能: 应用程序导出 - 学会了如何将Godot项目打包成可执行文件 透明窗口实现 - 掌握了创建半透明窗口的方法 鼠标事件响应 - 实现了基本的鼠标交互功能 Demo演示 开发心得通过这次实践,我发现Godot在桌面应用开发方面确实有其独特的优势。虽然文档阅读起来有时会有些困难,但一旦动手实践,很多概念就变得清晰起来。 透明窗口的实现相对简单,主要是通过设置窗口的透明属性和背景颜色来实现。鼠标交互方面,Godot提供了丰富的事件处理机制,可以轻松响应各种鼠标操作。 下一...
Godot开发初体验:加盟店与货源的比喻
Godot开发初体验:加盟店与货源的比喻引言花了一天的时间,我深入学习了Godot游戏引擎的开发。跟着官方文档中的例子,成功制作了一个demo。这次体验让我对Godot有了全新的认识,也让我想到了一个有趣的比喻:Godot就像开一家加盟店,而Cocos Creator更像是提供货源。 开发体验Godot:加盟店模式 为什么说Godot像加盟店? 标准化流程:加盟店有成熟的运营手册,Godot有完整的节点系统和可视化编辑器 快速上手:就像加盟店有品牌支持,Godot提供了GDScript语言和丰富的官方文档 即插即用:内置的组件和工具让开发变得简单直接 社区支持:活跃的社区就像加盟店的培训体系 实际开发感受在一天的学习中,我深刻体会到Godot的开发效率: 节点系统:直观的场景树结构,让游戏对象管理变得简单 GDScript:Python风格的语法,学习成本低 内置编辑器:完整的开发环境,无需额外配置 文档质量:官方文档详细且实用 Demo演示 您的浏览器不支持视频播放 这是我跟着Godot官方教程制作的demo演示 与Cocos Creator的对比Coco...
失业四个月后的转向:从Cocos到Godot的Steam游戏开发思考
背景与行业观察失业四个月了,这段时间我深入反思了自己的职业路径。深圳的游戏公司大多专注于海外棋牌游戏、老虎机游戏或逆向工程(即模仿或修改现有游戏)。这些领域我几乎没有经验,而少数自研项目又偏向重度游戏,同样与我的背景不符。 作为Cocos Creator的开发者,我曾考虑用它快速上架Steam游戏,但一个现实问题浮出水面:Cocos Creator的技术特性可能让个人和小团队的产品缺乏足够的安全保障,这促使更多团队转向Unity——一个在知识产权保护方面更受信任的引擎。然而,我也没有Unity的实际项目经验,这让我陷入了两难。 技术选型的思考为什么转向Godot?最近,有朋友提议认真做一个Steam项目,并坚持使用Godot引擎。这促使我开始接触Godot。Godot作为开源引擎,轻量、免费且社区活跃,特别适合个人和小团队快速原型开发。与Cocos Creator相比,Godot在跨平台支持和安全性上更有优势;与Unity相比,它避免了许可证费用和复杂性,更符合我的当前需求。 我的计划是:通过Godot学习,逐步构建Steam游戏,并记录这一过程。这不仅是一次技术转型,也是应对失...
游戏开发日志:组件化分层设计与战斗系统实现
最近在游戏开发中,我了解到ECS(Entity-Component-System)架构的概念,发现其设计理念与我现有的游戏框架高度契合。这让我更加确信自己设计的组件化框架是正确的方向,可以说是英雄所见略同。基于这种验证,我对自己的游戏框架进行了进一步的层级梳理和优化,旨在提升代码的可维护性和扩展性。 框架设计的验证通过了解ECS架构,我发现自己的框架设计理念与业界主流架构不谋而合。这让我对自己的组件化设计更有信心。我进一步优化了游戏对象的功能拆分,让每个组件更加专注于单一职责。 分层设计详解1. 核心层:物体信息体(Entity Base)这是框架的最底层,定义了游戏中最基本的实体对象: 包含通用属性:位置、旋转、缩放、唯一标识符 提供基础的生命周期管理 作为所有游戏对象的根类 2. 基本对象组件层(Basic Components)在核心层之上,构建了基础功能组件: 移动组件:处理对象的位移、速度、加速度 动画组件:管理动画状态机、精灵渲染、帧动画 碰撞组件:基础的碰撞检测和响应 3. 活体对象层(Living Entities)扩展基本对象,添加生命相关功能: 血量...
训练游戏开发日志:怪物生成与方块吞噬系统
今日进展:怪物吃方块系统的实现今天在性能压测训练游戏中取得了第一个关键进展——实现了基础的怪物生成和方块吞噬系统。这个系统旨在为后续的性能优化测试创造高负载场景,同时也是一个有趣的可视化演示。 系统设计概述 方块布置:在游戏场地上均匀放置了白色小方块,布局为每行25个方块,共60行,总计1500个方块。这些方块作为怪物的”食物”目标。 怪物生成:每0.5秒在场地外围随机位置生成一个怪物,怪物会自动寻找并移动到最近的方块位置进行”吞噬”。 核心逻辑:怪物生成后通过路径查找算法导航至方块,接触后方块消失,模拟吞噬效果。 技术实现要点虽然代码细节后续会分享,但关键逻辑包括: 使用对象池管理怪物实体,避免频繁内存分配 简单的随机生成算法确保怪物分布均匀 基于距离的目标选择策略,优化性能 效果与观察当系统运行时,场景非常有趣: 怪物一个个从边缘涌现,像潮水般向内推进 白色方块逐渐被”吃掉”,场地变得空旷 随着时间推移,怪物数量积累,创造了密集的实体环境 录屏演示以下是怪物吃方块的录屏演示,展示了系统的实际运行效果: 您的浏览器不支持视频播放。 视频:怪物吃方块的动...








