0
我想設置此遊戲,以便當用戶點擊屏幕上的特定點時,它會從該位置分配SKSpriteNode。所以我設置的是這個觸摸裏面的方法開始:如何設置水龍頭的位置
for (UITouch *touch in touches) {
score = score + 1;
cat = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"cat.png"] size:CGSizeMake(35, 35)];
cat.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)+120);
[self addChild:cat];
}
哪些工作正常,並將節點添加到觸摸發生的任何地方。
我希望它只是當用戶觸摸特定位置加入,所以我嘗試設置此功能:
for (touch locationInNode:CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) {
score = score + 1;
cat = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"cat.png"] size:CGSizeMake(35, 35)];
cat.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)+120);
[self addChild:cat];
}
但它沒有工作,告訴我,我需要一個括號對於一些原因。
如何設置它,使其只在用戶觸摸屏幕中間時纔會產生?
locationInNode是一種方法。你需要在它周圍使用方括號。然而,這裏還有許多其他問題。你知道for循環是如何工作的嗎? – CrimsonChris
並非完全,for循環是我從SpriteKit項目的模板中偷取的一段代碼(當用戶點擊它時會產生一個飛船)@CrimsonChris –
我已經檢查過相同的示例項目。當我告訴你時,請相信我,如果這是你第一次看到for循環,你不會走得太遠。我建議閱讀初學者面向對象編程。 – CrimsonChris