主场景调用 SKNode 对象并将精灵添加到主场景等。当精灵完成/销毁时,我想从主场景中移除精灵并更新分数。但是,当我尝试从 SKNode 执行调用时,它似乎没有运行,但我也没有收到任何错误。
以下是我现在拥有的代码。这不是完整的代码,只是问题/非问题的一部分:)
EnemyNode.h
#import "MyScene.h"
@class MyScene;
@interface EnemyNode : SKNode
@property (nonatomic, assign) MyScene *_scene;
EnemyNode.m
-(void)enemyEscaped
{
NSLog(@"Enemy Escaped");
[_scene.enemyArray removeObject:_enemy];
[_scene enemyAttackedBase];
[_enemy removeAllChildren];
[_enemy removeAllActions];
[_enemy removeFromParent];
[self removeFromParent];
}
MyScene.h
#import "EnemyNode.h"
@class EnemyNode;
@interface MyScene : SKScene
@property (nonatomic) NSUInteger myMoney;
@property (nonatomic) EnemyNode *_enemy;
- (void)enemyWasDestroyed:(NSUInteger)money;
MyScene.m
- (void)enemyWasDestroyed:(NSUInteger)money
{
NSLog(@"money, money, money %lu", (unsigned long)money);
self.myMoney += money;
SKLabelNode *moneyLabel = (SKLabelNode *)[self childNodeWithName:@"moneyHUD"];
moneyLabel.text = [NSString stringWithFormat:@"Money: %lu",(unsigned long)self.myMoney];
}
当我调用 [_scene.enemyArray removeObject:_enemy]; [_scene 敌人攻击基地];
主场景没有任何反应(即货币标签没有更新)。
有任何想法吗?
我的做法完全错了吗?
谢谢