我是iOS的新手,目标C和使用
Xcode.我只做了一个简单的新闻类型的应用程序,但现在我想创建一个我在另一个平台上发布的游戏.
基本上,我有一个对象随机出现然后淡出,目的是点击对象使其消失.
但是我似乎无法点击该对象,即使我设置了mySKSpriteNode.userInteractionEnabled = YES;
这是我在touchesBegan方法中所拥有的:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { /* Called when a touch begins */ NSLog(@"Something was touched"); UITouch *touch = [touches anyObject]; NSLog(@"%@",touch); CGPoint location = [touch locationInNode:self]; SKNode *node = [self nodeAtPoint:location]; if(node == mySKSpriteNode) [node runAction:[SKAction fadeOutWithDuration:0]]; }
在我的日志中,当我点击屏幕时(不是我有对象的地方),我得到了这个:
2014-02-17 23:18:30.870 BubbleChallenge[48541:70b] Something was touched 2014-02-17 23:18:30.875 BubbleChallenge[48541:70b] <UITouch: 0x1130ea530> phase: Began tap count: 1 window: <UIWindow: 0x109c2ab60; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x109c274d0>; layer = <UIWindowLayer: 0x109c26810>> view: <SKView: 0x109c2e5e0; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CAEAGLLayer: 0x109c0e180>> location in window: {147.5,128.5} previous location in window: {147.5,128.5} location in view: {147.5,128.5} previous location in view: {147.5,128.5}
当我触摸mySKSpriteNode时,我在日志中什么也得不到,甚至没有“触及的东西”;
知道为什么会这样吗?
我发现的其他问题说答案是设置userInteractionEnabled = YES ….也许代码中有一个特定点我应该设置它?
所有帮助表示赞赏!
解决方法
您是否尝试过设置spritenode的name属性?
在mySKSpriteNode的初始化中:
mySKSpriteNode = [[SKSpriteNode alloc] initWithTexture:sometexture]; mySKSpriteNode.name = @"thisIsMySprite"; // set the name for your sprite mySKSpriteNode.userInteractionEnabled = NO; // userInteractionEnabled should be disabled
然后:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint location = [touch locationInNode:self]; SKNode *node = [self nodeAtPoint:location]; if ([node.name isEqualToString:@"thisIsMySprite"]) { NSLog(@"mySKSpriteNode was touched!"); [node runAction:[SKAction fadeOutWithDuration:0]]; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。