我希望能够做到这一点:
vec2 pos(1,5);
myActor.position = [Coord positionFrom: pos ];
使用我的结构:
typedef float32 float;
struct vec2 {
vec2(float32 xx, float32 yy) {
x = xx;
y = yy;
}
float32 x, y;
};
Coord.h
@interface Coord : NSObject {
}
+(CGPoint) positionFrom: (vec2) pos;
+(CGPoint) positionFromAngle: (float32) angle;
Coord.mm
#import "Coord.h"
@implementation Coord
+(CGPoint) positionFrom:(vec2) pos {
return CGPointMake( pos.x * 32, pos.y * 32);
}
+(CGPoint) positionFromAngle:(float32) angle {
return CGPointMake( cos(angle) * 32, cos(angle) * 32);
}
@end
但是我得到了这些错误(在Coord.h中,在positionFrom行上):
Expected ')' before 'vec2'
Expected ')' before 'float32'
答案 0 :(得分:0)
这应该是:
+(CGPoint) positionFrom: (struct vec2) pos;
否则您无法导入定义vec2
的头文件。
]
语句return
中也有一个尾随positionFrom:
。
CGPoint CGPointFromVec2( struct vec2 pos );
这使它与CGPointFromString()
平行。