2

各位程序员,您好。在过去的几周里,我一直在学习如何使用 GLKit。我发现这个关于如何设置基本 2D 图形引擎的系列教程非常有用

当我遵循“迭代 5”代码的第一块时,发生了一些奇怪的事情。该updateVertices方法中的 for 循环出现编译器错误。这些错误显示在这里。

错误

这是完整的类代码。

//
//  Elipse.m
//  EmptyGLKit
//
//  Created by C-R on 8/6/13.
//  Copyright (c) 2013 C-R. All rights reserved.
//

#import "Ellipse.h"

#define ELLIPSE_RESOLUTION 64;
#define M_TAU (2*M_PI)

@implementation Ellipse

-(int)numVertices {
    return ELLIPSE_RESOLUTION;
}

-(void)updateVertices {
    for (int i = 0; i < ELLIPSE_RESOLUTION; i++) {
        float theta = ((float)i) / ELLIPSE_RESOLUTION * M_TAU;
        self.vertices[i] = GLKVector2Make(cos(theta)*radiusX, sin(theta)*radiusY);
    }

}

-(float)radiusX {
    return radiusX;
}

-(void)setRadiusX:(float)_radiusX {
    radiusX = _radiusX;
    [self updateVertices];
}

-(float)radiusY {
    return radiusY;
}

-(void)setRadiusY:(float)_radiusY {
    radiusY = _radiusY;
    [self updateVertices];
}

@end

我试过关闭并重新打开项目,清理代码,重新启动 Xcode,但都没有成功。

据我所知,for 循环是完全可以接受的,并且已经出现在我的其他几个项目中。

4

1 回答 1

13

你的#define;末尾有一个。这是不正确的,应该删除。基本上将#define其替换到代码中进行编译,因此最终结果是一个 if 语句,其中包含太多;字符。

于 2013-08-09T17:22:35.573 回答