KwaiAppTeam / AkDanmaku

一款利用游戏引擎理念打造的原生弹幕库
Other
461 stars 35 forks source link

动态加载网络图刷新弹幕能提供下思路么 #16

Open george5613 opened 2 years ago

george5613 commented 2 years ago

现在对应着UpLogoRenderer去实现默认图头像应该是没问题 现在这边想在弹幕prepare的某个时间点去获取网络图片,然后刷新替换默认头像,然后看了sample没发现很好的去加载网络图片时间点回调,这边有建议么,然后刷新弹幕可以用DanmakuPlayer的updateItem对吧? 测试发现updateItem似乎也不能刷新弹幕。。可能也需要作者提供下思路 config = config.copy().apply { updateMeasure() updateRender() } danmakuPlayer.updateConfig(config) 这样可以刷新这个frame的样式确实可以做到刷新当前弹幕 但是同时发现刷新瞬间会出现icon变大一闪而过的问题,不知道是啥原因。。

xanahopper commented 2 years ago

请参看 SimpleRenderer 的实现,弹幕的渲染由它进行。 你可以在异步请求头像,当新头像就绪之后,使用 updateRender,将当前所有的弹幕的缓存无效化。此时你的 Renderer 会收到新的绘制请求,这个时候头像应当是就绪的。 此外,在绘制图像的时候不要依赖当前 canvas 的大小,它很有可能是当前整个 View 的尺寸,这取决于 draw 的调用是用来绘制 缓存还是直接绘制。 并且额外注意绘制图像本身的尺寸