这是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"。为什么?
您只需要设置一次DestroyeCountLabel的文本。在此之后设置monstersDestroyed变量不会自动更新DestroyeCountLabel。有无数种方法可以做到这一点。我的建议是,在深入学习之前,先阅读一些苹果的教程,以便更好地掌握编程。