2013-05-11 85 views
-3

我需要一種將圖像紋理從nsmutable數組中的一個索引切換到另一個索引的方法。如何將nsarray對象從一個索引切換到另一個索引

balloonTextures = [NSMutableArray array]; 

    // Add each of the balloon textures into the balloon textures array 
    [balloonTextures addObject:[SPTexture textureWithContentsOfFile:@"greentutorial.png"]]; 
    [balloonTextures addObject:[SPTexture textureWithContentsOfFile:@"redtutorial.png"]]; 

    SPImage *image = [SPImage imageWithTexture:[balloonTextures objectAtIndex:0]]; 
    image.x = 0; 
    image.y = 10 ; 
    [playFieldSprite addChild:image]; 
    [image addEventListener:@selector(onTouchBalloon:) atObject:self forType:SP_EVENT_TYPE_TOUCH]; 

正如你可以看到我有一個NSMutableArray與圖像,其中包含圖像紋理greentutorial。現在我想用紅色紋理(紅色教程)將其切換爲20秒內調用的方法。

-(void)changeColor{ 

image = [SPImage imageWithTexture:[balloonTextures objectAtIndex:1]]; 

    } 

但是,它根本不工作。我知道這個圖像正在被調用,因爲如果我在方法中添加下面的代碼並且它可以工作。

image.x = 300; 

回答

1

要切換的指數,

-(void) swapTexturesAtIndex:(int) index1 and:(int) index2{ 
    id temp1 = [balloonTextures objectAtIndex:index1]; 
    id temp2 = [balloonTextures objectAtIndex:index2]; 
    [balloonTextures replaceObjectAtIndex:index1 withObject:temp2]; 
    [balloonTextures replaceObjectAtIndex:index2 withObject:temp1]; 
} 

編輯1:

你爲什麼不只是使用這樣的事情,

-(void)changeImageTextureFromIndex:(int) index{ 

image = [SPImage imageWithTexture:[balloonTextures objectAtIndex:index]]; 

    } 
+0

如何將添加圖像到這個方法。 – 2013-05-11 12:22:13

+0

我在答案中添加了更多信息.. – 2013-05-11 12:28:25

相關問題