你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[LayaAirIDE3][3.1.0 B2] 继承PixelLineRenderer的脚本会在编辑器中触发onUpdate
无法关闭,且没有开启编辑器运行的功能.附件是ts脚本,随便挂在一个3d精灵上就能复现.
uptest.zip
没有找到相关结果
已邀请:
与内容相关的链接
提交
2 个回复
小孟
赞同来自:
您好,这个问题是这样的:
1.因为我在使用的时候,一般脚本里都是继承的Laya.Script,然后在脚本里再去使用其它类。我看到您直接继承的Laya.PixelLineRenderer,一般不这样使用。
2.如果您需要绘制像素线,使用的是PixelLineSprite3D。具体的用法可以参考”引擎API使用示例“的CustomMesh场景。
3.关于您本帖的onUpdate问题,我与同事讨论后,认为是这样的:这个pixelLineRenderer是个组件内容,继承自Component。在Component里面就有onUpdate函数周期的,就是会每帧调用呢。生命周期也不是脚本组件独有的,脚本组件重点在组件Component。之所以在编辑器内不预览的时候都能调用,是因为这个场景在ide内是还在运行的,每个组件内容会走onUpdate更新。
无名玩家X
赞同来自:
您好,
我这整理了一些内容
引用里能看到二者都是直接或间接继承于component,不过这个问题和从哪里继承没啥关系,和生命周期关系也不大.
主要问题是
组件在编辑器里的行为不一致
,按理说,开发人员没有标记@runInEditor装饰器的话,他就不应该在编辑器模式生效,只在播放模式生效(其他的脚本,比如继承script的脚本,默认都是这样的行为)
关于@runInEditor,文档内容如下图
出于以上情况,才将这个问题作为bug考虑的.
其实现在也能通过判断是否播放来抑制事件,但是这个办法应该只作为临时解决方案,因为这可能和@runInEditor装饰器的效果产生冲突.
顺带一提:其实直接继承Laya.PixelLineRenderer这种内部组件,属于"基于基本组件进行扩展",按理说应该是很常见的开发者行为,尤其是对于我这种水平比较差的用户,有时候能省下不少造轮子的时间....
要回复问题请先
登录
发起人
无名玩家X
相关问题
请问laya有没有地图编辑器工具?
FairyGUI是一款专业的 UI编辑器(千万别点)
编辑器Tree组件树节点渲染回调两次
微信小游戏,下拉手机的顶部菜单后,背景音乐停止播放,拉回去后,未触发onshow,按Home键回最小化,再回来后能触发onshow,可以继续播放背景音乐
关于场景编辑器的,用的最新版引擎
List滑动条会引起单元格上的按钮点击后多次触发点击事件
spine显示跟编辑器不符
微信小游戏与加载图片时不会触发erroe事件
3d物理不能触发onCollisionEnter事件
点击代码编辑模器 就提示无法打开代码编辑器 请配置 这个怎么解决?
clickHandler只会执行一次,之后点击不再触发 laya.3.0.9
问题状态
最新活动:
2023-12-11 22:55
浏览:
3553
关注:
2
人
商务合作
2 个回复
小孟
赞同来自:
1.因为我在使用的时候,一般脚本里都是继承的Laya.Script,然后在脚本里再去使用其它类。我看到您直接继承的Laya.PixelLineRenderer,一般不这样使用。
2.如果您需要绘制像素线,使用的是PixelLineSprite3D。具体的用法可以参考”引擎API使用示例“的CustomMesh场景。
3.关于您本帖的onUpdate问题,我与同事讨论后,认为是这样的:这个pixelLineRenderer是个组件内容,继承自Component。在Component里面就有onUpdate函数周期的,就是会每帧调用呢。生命周期也不是脚本组件独有的,脚本组件重点在组件Component。之所以在编辑器内不预览的时候都能调用,是因为这个场景在ide内是还在运行的,每个组件内容会走onUpdate更新。
无名玩家X
赞同来自:
引用里能看到二者都是直接或间接继承于component,不过这个问题和从哪里继承没啥关系,和生命周期关系也不大.
主要问题是组件在编辑器里的行为不一致,按理说,开发人员没有标记@runInEditor装饰器的话,他就不应该在编辑器模式生效,只在播放模式生效(其他的脚本,比如继承script的脚本,默认都是这样的行为)
关于@runInEditor,文档内容如下图
出于以上情况,才将这个问题作为bug考虑的.
其实现在也能通过判断是否播放来抑制事件,但是这个办法应该只作为临时解决方案,因为这可能和@runInEditor装饰器的效果产生冲突.
顺带一提:其实直接继承Laya.PixelLineRenderer这种内部组件,属于"基于基本组件进行扩展",按理说应该是很常见的开发者行为,尤其是对于我这种水平比较差的用户,有时候能省下不少造轮子的时间....