loadObjects 加载初始场景对象
loadObjects
类型: MethodDeclaration
所属类: SceneContext
定义位置: scene.ts
描述
加载初始场景对象
参数 objectList
: 场景对象数据列表
返回值:已创建的场景对象实例列表
参数
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
objectList | SceneObjectDataDirectory | - | - |
返回值
类型: Array<PresetObject>
已创建的场景对象实例列表
源代码
位置: 第 1145 行
private loadObjects(objectList: SceneObjectDataDirectory): Array<PresetObject> {
const scene = this
const instances: Array<PresetObject> = []
const loader = new class ObjectLoader {
// 加载场景对象目录
load = (nodes: SceneObjectDataDirectory) => {
for (const node of nodes) {
loader[node.class](node as any)
}
}
// 加载文件夹
folder = (node: SceneObjectFolder) => {
loader.load(node.children)
}
// 加载角色
actor = (node: SceneActorData) => {
if (SceneContext.testConditions(node)) {
const actor = scene.createActor(node)
if (actor) instances.push(actor)
}
}
// 加载动画
animation = (node: SceneAnimationData) => {
if (SceneContext.testConditions(node)) {
const animation = scene.createAnimation(node)
if (animation) instances.push(animation)
}
}
// 加载粒子
particle = (node: SceneParticleData) => {
if (SceneContext.testConditions(node)) {
const emitter = scene.createParticle(node)
if (emitter) instances.push(emitter)
}
}
// 加载区域
region = (node: SceneRegionData) => {
if (SceneContext.testConditions(node)) {
const region = scene.createRegion(node)
instances.push(region)
}
}
// 加载光源
light = (node: SceneLightData) => {
if (SceneContext.testConditions(node)) {
const light = scene.createLight(node)
instances.push(light)
}
}
// 加载视差图
parallax = (node: SceneParallaxData) => {
if (SceneContext.testConditions(node)) {
const parallax = scene.createParallax(node)
instances.push(parallax)
}
}
// 加载瓦片地图
tilemap = (node: SceneTilemapData) => {
if (SceneContext.testConditions(node)) {
const tilemap = scene.createTilemap(node)
instances.push(tilemap)
}
}
}
// 加载场景对象
loader.load(objectList)
return instances
}
文档生成时间:2025/7/7 12:07:06