[LayaAirIDE 2.0]laya3d可以用对象池吗?

我想问一下,laya3d可以用对象池吗?我想要用laya.sprite3d.load()这个方法载入资源,然后再放进对象池,可以实现吗?求问?
具体怎么写呢?
已邀请:

sand

赞同来自:

load是加载资源到内存,需要Sprite3D instantiate 实例化对象,然后存储起来在对象池里,然后就是用字典把对象池里的东西装起来

pikapikaqiu

赞同来自:

对象池本质上就是自己封装的一个对象字典。需要用的时候从里面取出对象。如果对象池内的对象都被使用了。就创建一个新的对象。对象不想使用的时候将其“放回”对象池。所谓放回操作。就是将这个对象标记为未使用。自定义一个bool值即可。然后注意取对象时的初始化,以及放回对象时将其和外部的一些引用给取消掉。比如模型对象池内的模型一般会在网络同步时修改其位置。放回对象池时需要使其网络同步时不再处理此对象。
自己写一个对象池管理类。留个取出对象和放回对象的方法即可。本身具体实现要根据实际使用的场景来看。
这是最基础的对象池:
(复制代码全是敏感词。吐了。)
 
此处放回对象时的处理。放在了这个对象内的recover方法内

要回复问题请先

商务合作
商务合作