欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

cocos2dx 实现重复滚动背景时遇到的一些问题

程序员文章站 2024-01-31 21:56:46
...

在用cocos2dx实现重复滚动的背景时,采用两个背景图互相拼接的办法. 但是在实现过程中,总是出现裂缝. 已开始采用的是 CCMoveTo CCCallFuncN 组成 CCSequence 的办法来做,怀疑裂缝的问题是因为调用 CCCallFuncN 时机不对导致的. 于是采用 scheduleUpdate() 的

在用cocos2dx实现重复滚动的背景时,采用两个背景图互相拼接的办法. 但是在实现过程中,总是出现裂缝.

已开始采用的是 CCMoveTo + CCCallFuncN 组成 CCSequence 的办法来做,怀疑裂缝的问题是因为调用 CCCallFuncN 时机不对导致的.

于是采用 scheduleUpdate() 的方法,自己在 update()中,实现功能的方式来做,但是裂缝依然没有干掉.


再之后发现,当每帧 deltatime 过于大的时候,裂缝就会变大的问题.于是想到了是逻辑错误.最终搞定.

搞定后在网上看到这篇文章,和我想表达的意思类似,

作者分析的非常好,还把错误的原因用画图的形式说明了,写的非常好.在此给出链接 :

http://blog.csdn.net/handz_cpp/article/details/17609405


另外值得一提的是 cocos2dx 的坐标系统使用的是 float 类型,浮点数。我在找到问题以后,搞了半天还是有缝,最后把坐标差用 float 而非 int 声明之后,就解决了.