2014-07-13 496 views
0

這聽起來像一個非常簡單的問題,但我是Xcode的新手,無法爲我的生活找出正確的方法,我想知道一個好方法重複產生屏幕左側的節點並將它們滾動到屏幕的右側。這只是裝飾,所以他們不需要做任何事情。問題是當我試圖在屏幕上滾動節點時,它使用了我的背景。背景放在與下列代碼 -如何在屏幕上滾動節點

-(id)initWithSize:(CGSize)size { 

    if (self = [super initWithSize:size]) { 
     self.backgroundColor = [SKColor whiteColor]; 

     SKSpriteNode *bgImage = [SKSpriteNode spriteNodeWithImageNamed:@"start"]; 
     [bgImage setScale: .52]; 
     bgImage.position = CGPointMake(self.size.width/2, self.size.height/2); 
     [self addChild:bgImage]; 

編輯:這是我的移動節點 -

- (void)moveObstacle 
{ 
    NSArray *nodes = self.children; 

    for(SKNode * node in nodes){ 
     if (![node.name isEqual: @"start"] && ![node.name isEqual: @"start"]) { 
      SKSpriteNode *ob = (SKSpriteNode *) node; 
      CGPoint obVelocity = CGPointMake(-OBJECT_VELOCITY, 0); 
      CGPoint amtToMove = CGPointMultiplyScalar(obVelocity,_dt); 

      ob.position = CGPointAdd(ob.position, amtToMove); 
     } 
    } 
} 

但唯一的問題是,用它時,它沿着一個單獨的文本按鈕移動應該保持靜止。

我只是不知道如何保持這與我的其他節點移動。

+0

也許你正在尋找一個'SKEmitterNode'。 – duci9y

回答

0

在其上運行相應的SKAction

SKAction *move1 = [SKAction moveByX:bgImage.size.width y:0 duration:5.0]; 
SKAction *move2 = [SKAction moveToX:-bgImage.size.width y:0 duration:0.0]; 
[bgImage runAction:[SKAction repeatActionForever:[SKAction sequence:@[move1,move2]]]]; 
+0

我可能沒有正確的說法,我的問題並不是如何移動一個節點,因爲它是反覆產生大量節點,並將它們移動。 – FireStorm

+0

看到我編輯的答案 –

+0

完美的工作,花了我一段時間,因爲我想的是背景是在做什麼而不是移動節點的答案,謝謝! – FireStorm