我有一个游戏直接启动到skscene,主菜单设置在skscene中。有一个按钮,您可以单击以切换到具有页面的不同视图控制器以选择新角色。我在这个名为storedelegate的视图控制器中设置了一个协议,以警告skscene该角色已被更改,以便它可以切换出角色图像。
这是我的字符选择视图控制器<。p>的.h文件
@protocol StoreDelegate <NSObject>
@required
-(void)didSelectCharachter;
@end
@interface StoreViewController : UIViewController
@property (nonatomic, weak) id<StoreDelegate> storeDelegate;
@end`
`这是我的.m文件,我点击单击购买按钮时调用委托方法
-(void)didTouchUpInsideBuyBuyyon {
NSString *newCharachter = [self selectCharachterWithIndex:self.charachterCounter];
[[UserManager sharedInstace] setPlayersCharachterWithCurrentCharachter:newCharachter];
[self.storeDelegate didSelectCharachter];
}
这是我的skscene的.m文件,我实现了商店委托,然后实现了一个方法。我已经在这个方法上设置了一个断点,它永远不会被调用。
@interface MyScene ()<SKPhysicsContactDelegate, UIAlertViewDelegate, StoreDelegate>
#pragma mark - StoreDelegate
-(void)didSelectCharachter {
NSLog(@"newCharachterWasSelected");
}