私は同じ問題を抱えていて、それを理解しました。
これを試して。背景とオフセットをメンバーとして宣言します。
CCSprite _bg;
float _bgOffset;
シーンコンストラクター:
CGSize winSize = CCDirector.sharedDirector().displaySize();
_bg = CCSprite.sprite("yourbg.png"); // needs to be square, i.e. 256x256
_bg.setTextureRect(0, 0, winSize.width, winSize.height, false);
_bg.getTexture().setTexParameters(GL10.GL_LINEAR, GL10.GL_LINEAR, GL10.GL_REPEAT,
GL10.GL_REPEAT);
_bg.setAnchorPoint(CGPoint.zero());
this.addChild(_bg);
そして、update(float dt)メソッドでは:
if (_bgOffset > 2000000000)
_bgOffset = 0; // don't want problems, do we?
_bgOffset += dt * PIXELS_PER_SECOND; // this can be dynamic if you want
_bg.setTextureRect(0, _bgOffset, _bg.getTextureRect().size.width,
_bg.getTextureRect().size.height, false);
Objective Cコードについては、 http: //www.raywenderlich.com/3857/how-to-create-dynamic-textures-with-ccrendertextureの「RepeatingBackgrounds」を参照してください。
両方の方法を実行する必要がある場合は、ゼロ以外から始めて、_bgOffset
それが機能するかどうかを確認できます。
これが誰かに役立つことを願っています!