跳到主要内容

PloyApp

Ploy3D • Docs


Ploy3D / PloyApp

Class: PloyApp

应用基类。

Constructors​

new PloyApp()​

new PloyApp(engine): PloyApp

构造函数。

Parameters​

• engine: Ploy3D

引擎实例。

Returns​

PloyApp

Properties​

engine​

engine: Ploy3D

引擎实例。


event_listener​

event_listener: Record<string, (event) => Promise<void>[]>

事件监听器。


events​

events: Record<string, any>

事件绑定列表。


sdl_canvas?​

optional sdl_canvas: any

本机窗口UI画布。


sdl_window?​

optional sdl_window: any

本机窗口实例。


started​

started: boolean

应用是否已启动。


ui_canvas?​

optional ui_canvas: HTMLCanvasElement

UI画布元素(DENO环境下用于创建Image等资源)。


ui_ctx​

ui_ctx: CanvasRenderingContext2D

UI画布渲染上下文。


CK_InitUI()​

static CK_InitUI: (app) => Promise<void>

CanvasKit初始化主画布。

Parameters​

• app: PloyApp

Returns​

Promise<void>


SDL2_InitEvent()​

static SDL2_InitEvent: (app) => Promise<void>

SDL2事件绑定。

Parameters​

• app: PloyApp

Returns​

Promise<void>


SDL2_InitWindow()​

static SDL2_InitWindow: (app, title, width, height, progress) => Promise<boolean>

SDL2窗口初始化。

Parameters​

• app: PloyApp

• title: string

• width: number

• height: number

• progress

Returns​

Promise<boolean>


SDL2_SolveEvent()​

static SDL2_SolveEvent: () => void

SDL2事件处理方法。

Returns​

void

Methods​

AddEventListener()​

AddEventListener(type, listener): void

注册事件监听器。

Parameters​

• type: string

事件类型。

• listener

事件监听器。

Returns​

void


Awake()​

Awake(): void

唤醒帧循环(部分终端中setInterval会引起页面卡顿,应使用requestAnimationFrame)。

Returns​

void


CreateAtmosphere()​

CreateAtmosphere(scene): Promise<object>

创建地球大气层对象。

Parameters​

• scene: Scene

场景实例。

Returns​

Promise<object>

返回地球大气层相关资源。

draw_params​

draw_params: object

网格绘制参数对象。

draw_params.castShadows?​

optional castShadows: boolean

draw_params.cullMode​

cullMode: number

draw_params.flags​

flags: number

draw_params.frontFace​

frontFace: number

draw_params.instances​

instances: number[][]

draw_params.layers​

layers: number

draw_params.materials​

materials: object[]

draw_params.mesh​

mesh: Mesh

draw_params.receiveShadows?​

optional receiveShadows: boolean

draw_params.topology?​

optional topology: GLPrimitiveTopology

draw_params.userData​

userData: number

material​

material: Material

材质资源实例。

mesh​

mesh: Mesh

网格资源实例。


CreateTransformCtrl()​

CreateTransformCtrl(scene): Promise<TransformCtrl>

创建变换组件控制器工具。

Parameters​

• scene: Scene

场景实例。

Returns​

Promise<TransformCtrl>

返回变换组件控制器工具。


Draw2D()​

Draw2D(): void

绘制场景2D画面。

Returns​

void


Draw3D()​

Draw3D(): void

绘制场景3D画面。

Returns​

void


DrawFrame()​

DrawFrame(count, count2d?): void

绘制3D帧(该方法的调用不影响帧率)。

Parameters​

• count: number

将绘制不小于参数指定的帧数。

• count2d?: number

将绘制不小于参数指定的2D帧数。

Returns​

void


InitEngine()​

InitEngine(progress): Promise<boolean>

初始化引擎。

Parameters​

• progress

进度刷新函数。

Returns​

Promise<boolean>

是否初始化成功。


InitEvent()​

InitEvent(): Promise<void>

初始化事件系统。

Returns​

Promise<void>

返回事件协程。


InitScene()​

InitScene(progress): Promise<boolean>

初始化场景。

Parameters​

• progress

进度刷新函数。

Returns​

Promise<boolean>

是否初始化成功。


InitUI()​

InitUI(progress): Promise<boolean>

初始化UI。

Parameters​

• progress

进度刷新函数。

Returns​

Promise<boolean>

是否初始化成功。


InitWindow()​

InitWindow(title, width, height, progress): Promise<boolean>

初始化窗口。

Parameters​

• title: string

主窗口标题。

• width: number

主窗口宽度。

• height: number

主窗口高度。

• progress

进度刷新函数。

Returns​

Promise<boolean>

是否初始化成功。


Progress()​

Progress(rate, msg, log?): void

主进度条显示控制。

Parameters​

• rate: number

进度(-1表示隐藏进度条)。

• msg: string

进度提示。

• log?: boolean

是否在控制台打印。

Returns​

void


Shutdown()​

Shutdown(): Promise<void>

关闭主程序。

Returns​

Promise<void>


Startup()​

Startup(title, width, height): Promise<void>

启动主程序。

Parameters​

• title: string

主窗口标题。

• width: number

主窗口宽度。

• height: number

主窗口高度。

Returns​

Promise<void>

返回事件协程。


Status()​

Status(): void

收集当前运行状态信息。

Returns​

void


Step()​

Step(): boolean

场景帧更新绘制。

Returns​

boolean

返回false表示无必要进一步步进。


Update()​

Update(flags): void

更新场景。

Parameters​

• flags: number

更新标志集(1-更新2D场景,2-更新3D场景)。

Returns​

void