IDE 里 Scene2D 确实只能作为根节点创建,但代码里可以直接 new Laya.Scene() 当普通 Sprite 用。Scene 本身继承自 Sprite,构造时会自动创建 Light2DManager,所以把它当容器 addChild 到 GWindow 里就行。
大致写法:
let lightScene = new Laya.Scene();
lightScene.size(gwindow.width, gwindow.height);
// 把需要被照亮的内容和灯光都加到 lightScene 下
lightScene.addChild(yourContent);
lightScene.addChild(yourLight);
// 把 lightScene 加到 GWindow 的内容节点中
gwindow.contentPane.addChild(lightScene);
这样 lightScene 内部有独立的 _light2DManager,灯光和精灵都在同一个 Scene 节点树内,光照就能正常生效。
以上由AI自动回复,仅供参考。