本页目录

纯净玩(pureplay)· 原生 Canvas 棋类小游戏合集

pureplay · AlanKhronos/pureplay

这是一个基于 JavaScript 与原生 Canvas 实现的棋类小游戏合集,作者描述包含五子棋、中国象棋、国际象棋、围棋、2048、俄罗斯方块、数独、扫雷、蜘蛛纸牌等 11 款经典玩法,可直接在浏览器中运行,也可在微信开发者工具中运行,并强调无...

其他 PixiJS TypeScript 粒子系统 动画系统 UI 系统 渲染技术 中级
★ Stars 48,645 Forks 5,141 License MIT 更新 2026-11-07

国内开发环境适配

Windows
未知
Linux
未知
macOS
未知
引擎 / 框架:PixiJS 暂无中文教程标记 未标记站长实测
README 未涉及国内网络与依赖镜像问题;npm 安装与脚手架拉取可能受网络环境影响,建议配置可用镜像源,具体待核验。

中文项目介绍

PixiJS 是一个以 TypeScript 编写的 Web 2D 渲染引擎,仓库 README 将其定位为“面向 Web 的下一代、快速的 HTML5 创作引擎”。它的核心目标是在浏览器中提供高性能、轻量且易用的 2D 图形渲染能力,可用于游戏、数据可视化,以及替代 Canvas 2D 绘图等场景。

从 README 的定位看,PixiJS 并不只是一个“画图库”,而是一套围绕 2D 内容创作构建的渲染基础设施:它同时提供 WebGL 与 WebGPU 两种渲染后端,并配套资源加载、文本渲染、遮罩、滤镜、混合模式等能力。官方站点提供指南、教程、示例与 API 文档,便于开发者从入门到深入查阅。

需要说明的是,README 中出现的“最快”“无与伦比的性能”等表述属于项目自身的宣传性描述,具体性能表现与浏览器兼容范围仍需结合实际项目核验。

核心功能

双渲染后端

同时支持 WebGL 与 WebGPU 渲染器,开发者可根据运行环境选择或切换。

易用而强大的 API

README 强调 API 既容易上手,又具备足够的表达力。

资源加载器(Asset Loader)

内置资源加载能力,示例中通过 `Assets.load` 加载纹理。

完整鼠标与多点触控支持

面向交互式应用提供输入支持。

灵活的文字渲染

支持文本绘制相关能力。

基础图形与 SVG 绘制

提供多样的图元绘制与 SVG 绘制能力。

动态纹理

支持在运行时生成与更新纹理。

遮罩(Masking)

用于裁剪与限定渲染区域。

强大的滤镜

提供滤镜效果支持。

技术架构分析

技术要点

渲染与图形管线

PixiJS 的核心是 2D 渲染,README 明确列出 WebGL 与 WebGPU 两条渲染路径。WebGPU 作为较新的 Web 图形 API,其类型定义会直接影响 TypeScript 项目的配置,这一点在 README 的 TypeScript 章节中有专门说明。

场景组织方式

从 Usage 示例可以看到 PixiJS 的基本使用模型:创建 Application 应用实例,初始化后把 app.canvas 挂载到页面;通过 Assets 加载纹理,用 Sprite 表示可绘制对象,设置锚点 anchor 与坐标,再通过 app.stage.addChild 加入舞台。舞台(stage)与容器式的子节点组织,构成了典型的 2D 场景图结构。

帧循环与时间步进

示例中使用 app.ticker.add 注册每帧回调,回调参数 time 提供 deltaTime。README 注释说明:在 100% 性能下 delta 为 1,用它与旋转量相乘可以得到与帧率无关的变换。这是 PixiJS 处理动画更新的推荐方式之一。

TypeScript 类型配置

由于支持 WebGPU,PixiJS 的类型声明依赖 WebGPU 类型,来源随 TypeScript 版本不同而变化:

  • TypeScript 5:不内置 WebGPU 类型,PixiJS 会引入 @webgpu/types,无需额外配置。
  • TypeScript 6 与 7:WebGPU 类型内置于 "dom" 库,但部分版本可能缺少 GPUTextureUsage 等定义;此时建议用 @types/web 替代 "dom",并从 types 中移除 @webgpu/types 以避免冲突。

README 给出的配置示例为安装 @types/web 作为开发依赖,并在 compilerOptions 中设置 lib: ["esnext"] 与 types: ["@types/web"]。

补充说明

安装与快速上手

README 提供了两种起步方式:

  • 使用官方脚手架:执行 npm create pixi.js@latest,通过 PixiJS Create CLI 一条命令完成初始化。
  • 在已有项目中安装:执行 npm install pixi.js。

Usage 示例展示了一个最小可运行流程:

  1. 从 pixi.js 导入 Application、Assets、Sprite。
  2. 创建 Application 实例并 await app.init({ background: '#1099bb', resizeTo: window }) 初始化,其中可设置背景色与随窗口自适应。
  3. 将 app.canvas 追加到 document.body。
  4. 用 Assets.load 加载纹理,创建 Sprite,设置 anchor.set(0.5) 使锚点居中,并放置到屏幕中心。
  5. 通过 app.stage.addChild(bunny) 加入舞台。
  6. 在 app.ticker.add 回调中按 time.deltaTime 更新旋转,实现帧率无关的动画。

这段示例同时覆盖了应用初始化、资源加载、精灵创建、场景挂载与帧循环五个关键环节,适合作为理解 PixiJS 使用模型的起点。

学习建议

  • 先按 Usage 示例跑通一个最小场景,理解 Application、Assets、Sprite、stage、ticker 之间的关系,再逐步引入遮罩、滤镜与混合模式。
  • 若使用 TypeScript,优先按 README 的说明确认 WebGPU 类型来源,避免 @webgpu/types 与内置 "dom" 类型冲突导致编译报错。
  • 官方指南、教程、示例与 API 文档是主要学习资料,建议按“指南 → 示例 → API 文档”的顺序查阅。
  • 对性能与兼容性的判断应结合目标设备实测,README 中的性能表述属于项目自述,不宜直接作为选型结论。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目