npm i --save nativescript-phaser
- 版本:1.0.0-alpha2
- GitHub: https://github.com/triniwiz/nativescript-phaser
- NPM: https://npmjs.net.cn/package/nativescript-phaser
- 下载
- 昨天:0
- 上周:0
- 上个月:0
nativeScript-phaser
使用 Phaser3 在 NativeScript 中构建原生 2D 游戏的工具 👾👾
安装
npm i nativescript-phaser
用法
将库导入您的 JavaScript 文件
import TNSPhaser from "nativescript-phaser";
函数
TNSPhaser.game({ canvas, renderer: Phaser.WEBGL || Phaser.CANVAS, ...extras })
给定一个 canvas
来自 TNSCanvas
,返回一个在它上面绘制的 Phaser.Game
。
属性
属性 | 类型 | 描述 | 默认值 |
---|---|---|---|
canvas | TNSCanvas | 必需:将渲染到 Phaser.Game 的 canvas |
null |
renderer | number? | 可选:选择渲染器类型,例如 Phaser.CANVAS(1), Phaser.WEBGL(2) | 1 |
width | number? | 可选:Phaser.Game 的高度 |
canvas 高度 |
height | number? | 可选:Phaser.Game 的宽度 |
canvas 宽度 |
title | string? | 可选:Phaser.Game 的标题 |
"tns-phaser-game" |
preventLoop | boolean? | 可选:阻止应用每帧调用 canvas.nativeView.flush() |
false |
返回
属性 | 类型 | 描述 |
---|---|---|
game | Phaser.Game |
用于渲染游戏逻辑的 Phaser3 游戏 |
示例
const game = TNSPhaser.game({ canvas });
它做什么?
在底层,TNSPhaser 维护一些库的全局实例。
window.Phaser = require("phaser");
最后,当创建新的 TNSPhaser.Game
实例时,我们将 document.readyState
设置为 'complete'
并保存 context
的全局实例
global.__context = context;
global.document.readyState = "complete";
然后我们创建一个标准的渲染循环并调用 canvas.nativeView.flush()
来清除帧队列并渲染我们的上下文。
const render = () => {
requestAnimationFrame(render);
canvas.nativeView.flush();
};
许可证
Apache 许可证版本 2.0,2004 年 1 月