所以我有一个SKSpriteNode,我从屏幕的顶部产生了一堆。我试图实现的效果是,当用户点击其中一个衍生节点时,只有该节点从视图中消失。
我该如何实现这一点?
发布于 2014-03-18 01:34:23
假设你已经创建了SKScene的子类,那么你可以编写类似这样的代码:
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
for(UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
SKNode* node = [self nodeAtPoint:location];
[node removeFromParent];
}
}显然,这是非常幼稚的,但它应该会让您开始。
touchesBegan是触控启动时的回调-它接收一组触控。对于每次触摸,计算其在当前场景中的位置,找到该位置上的节点,然后从场景中移除该节点。ARC应该在回收节点所使用的内存之后进行查找(假设您没有其他指向它的指针)。
https://stackoverflow.com/questions/22264703
复制相似问题