2014-02-12 76 views
0

我正在進行無盡的滾動遊戲。當我在遊戲的早期發展階段用幾個精靈測試背景時,它是可以的。現在我已經添加了包括聲音,菜單和其他所有內容的所有組件,後臺還有一個閃爍的黑色線條。我意識到,當滾動速度降低時,間隙變寬,直到它變成粗線(對於非常慢的滾動),並且以極快的滾動速度消失。在這個問題上研究後,我發現,推薦以下幾個帖子:滾動背景中閃爍的黑色線條

1. 在ccConfig.h定義這個

#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1 
#endif 

2. 確保spriteSheet,使用2個像素差距精靈間距。

這沒有奏效。在比較我以前的代碼之後,由於滾動沒有任何問題,我意識到Heap Allocations的安靜性高達5MB,並且與原始背景下的1MB相比,增加了(運行在iPhone 5上)。檢查內存泄漏後,我發現沒有。請幫忙。

+1

拉伸texels不是一個修復,甚至不是一個合適的解決方法。黑線問題的主要原因並不是每次更新時將位置舍入到最接近的整數位置。 – LearnCocos2D

+0

謝謝,這工作,但當我開始改變滾動速度,使不同的精靈確定有多快的背景滾動,然後黑線重鋪。從最慢的速度到最快的速度變得更加明顯。 – errorallergic

+0

您可能需要保留具有浮點數的「實際」位置,並使用該位置計算移動,然後在分配位置時將其轉換爲整數或圓形。還要爲整個背景進行一次計算,而不是單獨爲每個背景子節點進行計算。他們都應該使用完全相同的位置,而不是每次重新計算它,因爲這可能會引入舍入錯誤。 – LearnCocos2D

回答

0

我在以前的應用程序中所做的工作是將像素的兩部分背景重疊在一起。這一直爲我解決了這個問題,並一直是一個快速和容易的事情。