2014-03-01 62 views
1

我的問題是,我產生了一些隨機從0到9到出現在屏幕上用數字圖像,它產生:隨機和數字圖像不一樣的iOS的Xcode

實施:

@implementation EscenaJuego{ 
    int numberSelected; 
    int num; 
    NSString *form;  
} 

AddImage編號:

-(void)addNumber 
{ 
    num = arc4random() % 10; 
    form = [NSString stringWithFormat:@"%d", num]; 
    SKSpriteNode *numero; 
    numero = [SKSpriteNode spriteNodeWithImageNamed:form]; 
    [numero setScale:0.5]; 
    ...... 
} 

當這兩個機構碰,做的NSLog:

- (void)didBeginContact:(SKPhysicsContact *)contact 
{ 
    SKPhysicsBody *primerCuerpo, *segundoCuerpo; 
    if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask) 
    { 
     primerCuerpo = contact.bodyA; 
     segundoCuerpo = contact.bodyB; 
    } 
    else 
    { 
     primerCuerpo = contact.bodyB; 
     segundoCuerpo = contact.bodyA; 
    } 


    if ((primerCuerpo.categoryBitMask & categoriaPersonaje) != 0 && 
     (segundoCuerpo.categoryBitMask & categoriaMovimiento) != 0) 
    { 
     numberSelected = num; 
     NSLog(@"%d", num);   
    } 

但後來當我做的NSLog獲得該號碼是否相同的圖像,是不同

:當我我的性格觸摸9的NSLog說是2

enter image description here

所有圖像文件是其number.png

編輯:

如果我在AddNumber方法中執行NSLog,則該數字對於圖像來說是正確的:

-(void)addNumber 
{ 
    num = arc4random() % 10; 
    form = [NSString stringWithFormat:@"%d", num]; 
    SKSpriteNode *numero; 
    numero = [SKSpriteNode spriteNodeWithImageNamed:form]; 
    [numero setScale:0.5]; 
    self.numeroSeleccionado = [form integerValue]; 
    NSLog(@"%@%d", @"Appear:", self.numeroSeleccionado); 
    ...... 
} 
+2

您發佈代碼與您的nslog有關的代碼? –

+0

爲什麼是'num'和'form'實例變量? – trojanfoe

+0

你可以看到我的編輯問題 – user1911

回答

1

在你的代碼,num是一個實例變量,所以它會認爲,被設置到它的最後一個值。這就是你的日誌。在您的代碼中,您在使用它之前不會更新接觸檢測的變量。

考慮設置精靈節點的name,並在檢測到接觸時確定實際發生的情況。

+0

它應該怎麼做? – user1911

1

子類a SKSpriteNode並在其中創建一個數字屬性。這將簡化您的代碼並使其更加清晰。

@interface NumberNode : SKSpriteNode 
@property(nonatomic, assign) NSUInteger number; 
@end 

那麼你不必有int num那麼。您只需檢查碰撞節點的number屬性。

+0

我已經這樣做了,但它在AddNumber方法中也是這樣:'self.number = [form integerValue];' – user1911

+0

在問題中顯示您的更新代碼。刪除num和表單實例變量。 – Wain

+0

我該怎麼辦?有屬性? – user1911