383没有这leave 和 enter这两个函数
两个对象都监听mouse_enter事件,那么只有一个会生效,第一次或许会有两个都能生效,但是鼠标离开后就不生效了,只有一个能生效
明白了。鼠标进入窗口、离开窗口事件确实是应该做成广播形式。在目前的这个框架实现确实是存在这个弊端。
请教一下,我在源码里添加了一个给shader使用的全局变量,放在了UBOGlobal中,同时在game里添加了一个变量用来给游戏项目设置参数,ts相关代码都处理好了,网页版运行也正常。请问c++相关代码如何获取到game.ts中的值呢? PipelineUBO.cpp中的void PipelineUBO::updateGlobalUBOView函数中需要对新shader全局变量赋值。
嗯嗯,这样修改是可以的。方便提交 PR 到引擎仓库吗?
使用UBOGlobal的话,属于使用legacy-pipeline:
可以在PipelineSceneData.h中添加C++的getter/setter,并在cocos-engine/native/tools/swig-config/pipeline.i中注册PipelineSceneData的getter/setter。
之后重新编译引擎,在game.ts可以通过cclegacy.director.root.pipeline.pipelineSceneData
获取到PipelineSceneData,并调用setter设置数据。
随后在updateGlobalUBOView通过pipeline找到PipelineSceneData,调用getter获取数据并设置。
如果是需要后处理,推荐使用新的自定义渲染管线,能比较容易的添加shader参数。
可以参考cocos-engine/editor/assets/builtin-pipeline.ts
收到,感谢感谢~
ok,好的
快发版了吧
ok,晚一些我提交一下
麻烦处理下这里,一帧处理不完的函数直接放到尾部这种操作,需要考虑下顺序吧,比如同一时间WebSocket发来的消息过多一帧处理不完,处理过程中再有消息过来,下一帧会处理后发过来的消息,搞出很多莫名其妙的问题
请问下,你的383不是从dashboard下载,而是从论坛下载的?
是dashboard下载的
我这边目前有个bug,android 端websocket 会出现数据解析错误的情况,是因为这个引起的么?web端不会出现这种情况
web不会有问题,原生才有,只是处理顺序错误,解析出错应该不会
我这边用381,383,调用view.setDesignXX, 通过view.on也是监听不到 canvas-resize的。
是ios 手机没错吧
有可复现的demo吗,目前您这边是确认这个引起的?理论上这个并不会改变回调的顺序
没有复现的,肯定会改变,现在是把回调缓存了,然后_functionsToPerform的锁就解开了,如果在处理这些回调的过程中,_functionsToPerform又有插入回调,并且超过16ms没处理完这一帧的回调,就会再把剩下没处理的回调再放到 _functionsToPerform后面,我这么说不知道能理解不