我正在尝试向我的 iPhone 应用程序添加一些粒子效果。我的项目是使用传统的 UIKit 创建的。我没有使用 AppScaffold 模板,所以我必须手动添加和设置 sparrow。我做到了#import "Sparrow.h"
,它构建得很好。
问题是当我尝试添加 SPView 时。它只是显示一个空白的粉红色视图。我不知道我做错了什么。这是我的代码片段:
游戏.h
@implementation Game
- (id)initWithWidth:(float)width height:(float)height
{
if (self = [super initWithWidth:width height:height])
{
SPQuad *quad = [SPQuad quadWithWidth:100 height:100];
quad.color = 0xff0000;
quad.x = 50;
quad.y = 50;
[self addChild:quad];
}
return self;
}
@end
在 viewController 的 viewDidload...
- (void)viewDidLoad {
[super viewDidLoad];
// sparrow
SP_CREATE_POOL(pool);
[SPStage setSupportHighResolutions:YES];
SPView *spv = [[SPView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:spv];
[spv release];
spv.frameRate = 30;
Game *game = [[Game alloc] init];
spv.stage = game;
[game release];
[spv start];
SP_RELEASE_POOL(pool);
}
其他奇怪的症状是我在 .xib 文件中创建了一个 UIView 并将它的类更改为 SPView。但是当我使用该视图时,编译器仍将其识别为 UIView。这就像 xCode 可以看到头文件,但编译器不知何故看不到。另一个问题是我尝试使用方法'SPImage *background = [SPImage imageWithContentsOfFile:@"camera_test.png"];',但是当我运行它时,它给出了这个错误,reason: '+[NSBundle appBundle]: unrecognized selector sent to class 0x7a6890'.
这意味着它找不到麻雀类别方法'appBundle '。但是这个方法在源代码中确实存在!它编译没有问题。它只是在运行时崩溃。
我仔细检查了构建设置,我认为我的所有设置都正确,例如 'Other linker flags' as -ObjC -load_all
. 我不知道有什么问题。