0
主場景調用SKNode對象並將該精靈添加到主場景等。當精靈完成/銷燬時,我想從主場景中刪除精靈並更新分數。但是,當我嘗試執行SKNode調用窗體時,它似乎無法運行,但我也沒有收到任何錯誤。Xcode SpriteKit 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 enemyAttackedBase];
主場景沒有任何變化(即貨幣標籤不更新)。
任何想法?
我完全錯了我是如何做到這一點?
謝謝