这是MyScene.h
:
#import <SpriteKit/SpriteKit.h>
@interface MyScene : SKScene
@property (nonatomic) int monstersDestroyed;
@end
这是MyScene.m
:
if( someCondition ){
self.monsterPassed++;
NSLog(@"MonsterPassed : %d",self.monsterPassed);
}
控制台将显示“MonsterPassed:0”......“MonsterPassed:1”......等等。很好。
这是ViewController.h
:
#import <UIKit/UIKit.h>
#import <SpriteKit/SpriteKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *DestroyeCountLabel;
@end
这是ViewController.m
:
#import "ViewController.h"
#import "MyScene.h"
@interface ViewController ()
@property (nonatomic) AVAudioPlayer * backgroundMusicPlayer;
@end
@implementation ViewController
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
MyScene *monsterDestroyerValue = [[MyScene alloc]init];
self.DestroyeCountLabel.text =[NSString stringWithFormat:@"Monster Destroyed:%d",monsterDestroyerValue.monstersDestroyed];
...
}
问题在于ViewController.m
它不会显示在我的标签中,它只会显示“Monster Destroyed:0”。为什么?我已经搜索过但我找不到任何解决方案。
答案 0 :(得分:1)
您只需设置一次DestroyeCountLabel文本。在此之后设置monstersDestroyed变量不会自动更新DestroyeCountLabel。有无数种方法可以做到这一点。我的建议是通过Apple的一些教程,以便在潜水之前更好地掌握编程。