IOS SpriteKit中的多线程

时间:2014-12-20 07:40:58

标签: ios objective-c multithreading sprite-kit

我没有发现任何与SpriteKit多线程相关的问题。我认为这是获得一些建议的好机会。

我正在使用SpriteKit创建一个游戏,它由语音控制。所以我有另一个线程来检测语音。我使用委托在我的音频线程和我的SKScene之间进行通信。但是我可以说它延迟了几秒钟。我想找到一种通过声音来控制游戏的最佳方法。

SoundDetect.h

#import <Foundation/Foundation.h>
#import <SpriteKit/SpriteKit.h>
@protocol SoundDetectDelegate <NSObject>
-(void)update_from_sound: (SKSpriteNode*) node;
@end
@interface SoundDetect : NSObject
@property (nonatomic, weak) id <SoundDetectDelegate> delegate;
-(void)beat;

SoundDetect.m 当我检测到声音时,我有类似的东西。我的目标是更新我的SKScene

dispatch_async(dispatch_get_main_queue(),^{

      SKSpriteNode * node = [SKSpriteNode spriteNodeWithImageNamed:@"2.png"];
      [self.delegate update_from_sound:node];
});

HelloScene.h

#import <SpriteKit/SpriteKit.h>
#import "SoundDetect.h"
@interface HelloScene : SKScene <SoundDetectDelegate>

@end

HelloScene.m     - (void)update_from_sound:(SKSpriteNode *)node {

   [self addChild:node];
}

如果我想从另一个线程控制SKScene,这是一种典型的方法。

由于

0 个答案:

没有答案