0
我一直在试图逃离触摸的节点SKTexture变化,表示节点与循环创建:设置SKTexture为SKSpriteNode与给定sprite.name
int nameIndex = 0;
for (int i = 1; i <= 3; i++) {
self.card = [SKSpriteNode spriteNodeWithImageNamed:@"front"];
NSString *nodeName = [NSString stringWithFormat:@"node%d", nameIndex];
self.card.name = nodeName;
self.card.position = CGPointMake((((board-self.card.size.width)/3)*i), y);
[self addChild:self.card];
nameIndex++;
}
在开始触摸我的方法有:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
NSArray *nodes = [self nodesAtPoint:[touch locationInNode:self]];
for (SKNode *node in nodes) {
if ([node.name isEqualToString:@"node0"]) {
//Change the texture for the given node:
NSLog(@"Node 0");
[self.card setTexture:[SKTexture textureWithImageNamed:nameIndex]];
}
if ([node.name isEqualToString:@"node1"]) {
NSLog(@"Node 1");
}
if ([node.name isEqualToString:@"node2"]) {
NSLog(@"Node 2");
}
}
的触摸开始方法工作得很好,它只要一个精灵被触摸
但是运行块,与当前代码纹理变化只发生在预期最后创建的精灵。我一直在寻找一种方法来在一个名为X的精灵上运行一个方法,但我没有一种方法。
在此先感谢!