nativeScript-phaser
由 triniwiz 提供 | v1.0.0-alpha2
使用 Phaser.js 和 NativeScript 创建精彩 2D 游戏
npm i --save nativescript-phaser

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 月