jabbany / CommentCoreLibrary

Javascript Live Comment (Danmaku) Engine Implementation. JS弹幕模块核心,提供从基本骨架到高级弹幕的支持。
http://jabbany.github.io/CommentCoreLibrary/demo
MIT License
1.9k stars 304 forks source link

请问画布改变以后,弹幕位置不会变怎么办 #151

Closed jokerlbking closed 1 year ago

jokerlbking commented 1 year ago

就是在弹幕运行的时候,视频从全屏到半屏,我看到abp变了,但是弹幕的位置没变,比如底部弹幕还是在那个位置,视频变小以后弹幕就显示一半。我尝试在视频大小更新的时候用CM.Init,但是没什么用,请问有解决方法吗?

dbFlower commented 1 year ago

已收到

12lulu6 commented 1 year ago

同问

dbFlower commented 1 year ago

已收到

jabbany commented 1 year ago

每次画布发生变化需要手动调用 CommentManager 实例的 cm.setBounds 更新空间管理器里面的画布的大小。更新只会对未来弹幕生效,已经在运行中的弹幕不会因为更新重新布局。

如果需要也重新布局已经运行的弹幕,需要手动遍历 cm.runline 然后按照需求调整,比如固定弹幕需要可以采取类似 cmt.x = (cm.width - cmt.width) / 2;

如果弹幕是移动的,在调用 setBounds 后,下一帧移动时会按照新的画布大小更新,就不需要手动调整了。