PloyApp
Ploy3D • Docs
Ploy3D / PloyApp
Class: PloyApp
应用基类。
Constructors
new PloyApp()
new PloyApp(
engine
):PloyApp
构造函数。
Parameters
• engine: Ploy3D
引擎实例。
Returns
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