关于 SKAction fadeout 并 removeFromParent 后显示的node 得不到响应问题

问题出现情况:父node(以下称nodeRoot)维护一个NSArray,存放若干SKNode,用于分层(以下称layer),往nodeRoot添加子node时都添加到其指定layer上。现在layerA上添加了nodeA,在对nodeA执行以下逻辑

SKAction *dismissAction = [SKAction fadeOutWithDuration:0.1];
    SKAction *moveAway = [SKAction removeFromParent];
    [nodeA runAction:[SKAction sequence:@[dismissAction, moveAway]] withKey:@"dismiss"];

后,即移除nodeA后,余下的node得不到响应。


解决方法:

在dismissAction 和 moveAway 之间将nodeA移出可见范围:

SKAction *dismissAction = [SKAction fadeOutWithDuration:0.1];
    SKAction *moveDown = [SKAction moveByX:0 y:-self.size.height duration:0.1]; /*需要先移走再移除,否则移除后node得不到响应*/
    SKAction *moveAway = [SKAction removeFromParent];
    [nodeA runAction:[SKAction sequence:@[dismissAction, moveDown, moveAway]] withKey:@"dismiss"];


具体原因有待研究。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值