你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[LayaAir3]创建自由光源,形状是否有错误?
demo里,有两种创建自由光的代码片段,多边形的点围成的多边形应该是一样的,为什么创建的光源范围不一样?是存在BUG还是理解上有偏差?希望官方解答一下。
LayaLightDemo2.rar
没有找到相关结果
已邀请:
与内容相关的链接
提交
2 个回复
DC
赞同来自:
//创建自由光代码片段1
let freelightLayer = new Laya.Sprite();
freelightLayer.x = startX + gap * 2;
freelightLayer.y = startY + gap * 2;
this.owner.addChild(freelightLayer);
let freeStartX = 0;//startX + gap * 2;
let freeStartY = 0;//startY + gap * 2;
let freeformLight2D = freelightLayer.addComponent(Laya.FreeformLight2D);
freeformLight2D.color = new Laya.Color(1, 1, 1, 1);
freeformLight2D.intensity = 1;
freeformLight2D.falloffRange = 0.5;
let polygon = new Laya.PolygonPoint2D();
polygon.addPoint(freeStartX - gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY + gap);
polygon.addPoint(freeStartX - gap, freeStartY + gap);
freeformLight2D.polygonPoint = polygon;
//创建自由光代码片段2
let freelightLayer = new Laya.Sprite();
this.owner.addChild(freelightLayer);
let freeStartX = startX + gap * 2;
let freeStartY = startY + gap * 2;
let freeformLight2D = freelightLayer.addComponent(Laya.FreeformLight2D);
freeformLight2D.color = new Laya.Color(1, 1, 1, 1);
freeformLight2D.intensity = 1;
freeformLight2D.falloffRange = 0.5;
let polygon = new Laya.PolygonPoint2D();
polygon.addPoint(freeStartX - gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY + gap);
polygon.addPoint(freeStartX - gap, freeStartY + gap);
freeformLight2D.polygonPoint = polygon;
LayaAir小牛
赞同来自:
第一个片段中顶点是(-155, -155) 到 (155, 155) 第二个是(455, 455) 到 (765, 765) 顶点坐标已经改变了 第一个是基于局部坐标计算的 第二个是把世界坐标当局部坐标了 所以会出错
要回复问题请先
登录
发起人
DC
相关问题
请问有没有方法能够获取“鼠标是否处于按下状态”?
Animator2D该如何判断动画是否已经播放完成?
SpineSkeleton 创建的骨骼动画,采用WebGL渲染模式,在置灰状态,不能完全灰化
Adobe Flash Builder 4.7无法编译Laya2.6.1创建的3D示例项目
IDE创建的UI 层级问题
分享:使用 Chart.js 创建图标
请问Laya3是否不支持导入unity粒子预设?而Laya2似乎支持
请问layaide如何创建一个复合的Button
LayaAir3.1.0beta版本的创建空项目报错
创建动效模板 可能存在bug
一个时间轴动画里创建的多个动画,怎么分别调用?如图
问题状态
最新活动:
2025-12-12 11:36
浏览:
2896
关注:
2
人
商务合作
2 个回复
DC
赞同来自:
let freelightLayer = new Laya.Sprite();
freelightLayer.x = startX + gap * 2;
freelightLayer.y = startY + gap * 2;
this.owner.addChild(freelightLayer);
let freeStartX = 0;//startX + gap * 2;
let freeStartY = 0;//startY + gap * 2;
let freeformLight2D = freelightLayer.addComponent(Laya.FreeformLight2D);
freeformLight2D.color = new Laya.Color(1, 1, 1, 1);
freeformLight2D.intensity = 1;
freeformLight2D.falloffRange = 0.5;
let polygon = new Laya.PolygonPoint2D();
polygon.addPoint(freeStartX - gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY + gap);
polygon.addPoint(freeStartX - gap, freeStartY + gap);
freeformLight2D.polygonPoint = polygon;
//创建自由光代码片段2
let freelightLayer = new Laya.Sprite();
this.owner.addChild(freelightLayer);
let freeStartX = startX + gap * 2;
let freeStartY = startY + gap * 2;
let freeformLight2D = freelightLayer.addComponent(Laya.FreeformLight2D);
freeformLight2D.color = new Laya.Color(1, 1, 1, 1);
freeformLight2D.intensity = 1;
freeformLight2D.falloffRange = 0.5;
let polygon = new Laya.PolygonPoint2D();
polygon.addPoint(freeStartX - gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY - gap);
polygon.addPoint(freeStartX + gap, freeStartY + gap);
polygon.addPoint(freeStartX - gap, freeStartY + gap);
freeformLight2D.polygonPoint = polygon;
LayaAir小牛
赞同来自: