是否可以在 SKAction 中途结束?
Posted
技术标签:
【中文标题】是否可以在 SKAction 中途结束?【英文标题】:Is it possible to end an SKAction mid-action? 【发布时间】:2013-10-03 05:03:39 【问题描述】:我有一个 SKSpriteNode (monsterNode) 的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行:
SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];
[self runAction:actionMove completion:^
_currentState = SVGMonsterStateIdle;
];
我想知道是否有可能做到这一点,如果 MonsterNode 到达 ios 设备屏幕的边界,它实际上会停止运行该操作。我目前在屏幕边缘有 SKSpriteNode 边界,与联系代表链接以通知怪物和墙壁是否接触。但是,如果我不能真正阻止怪物的 actionMove 动作完成,那将毫无意义。怪物需要停在屏幕的边界。如果无法在 SKAction 中途停止执行,是否有迂回的方法可以这样做?
【问题讨论】:
【参考方案1】:查看SKNode.h
头文件 - 它列出了两个函数:
- (void)removeActionForKey:(NSString *)key;
- (void)removeAllActions;
后者将起作用:[monsterNode removeAllActions];
【讨论】:
射击。我查看了错误的文档(SKAction 文档)。谢谢! 关注问题:似乎有节点方式来设置key属性。子类? 编辑:代替[node runAction:myaction]
,使用[node runAction:myaction withKey:@"mykey"]
;.以上是关于是否可以在 SKAction 中途结束?的主要内容,如果未能解决你的问题,请参考以下文章
SKAction playSoundFileNamed 没有声音通过 iphone 扬声器