OpenGL Java アプリケーションを Objective-C に変換中です。これは、AmbientMovement というファイルの Java コンストラクターからのコンストラクターのコピーです。
public class AmbientMovement {
private final float FPS;
private final Frame[] FRAMES;
private final int NUMBER_FRAMES;
private final float CYCLE;
private final Random RANDOM;
private int indexAmbient;
private float timeAmbient;
private float timeCurrent;
public AmbientMovement(Frame[] frames, float fps) {
this.FPS = fps;
this.FRAMES = frames;
this.NUMBER_FRAMES = frames.length;
Frame lastframe = frames[this.NUMBER_FRAMES - 1];
this.CYCLE = lastframe.getTime() + lastframe.getDuration();
this.RANDOM = new Random();
this.resetClock();
}
これは、iOS 6 および X-Code 4.5 用の Objective-c を使用してコードを記述しようとする私の試みです。
AmbientMovement.h
#import "VA-Frame.h"
#import "VA-TRSet.h"
#import "VA-Morph.h"
#import "VA-Quaternion.h"
#import "math.h"
@interface VA_AmbientMovement : NSObject{
/* Private members */
@private {
@property float const* FPS;
@property int const* NUMBER_FRAMES;
@property float const* CYCLE;
@property int indexAmbient;
@property float timeAmbient;
@property float timeCurrent;
}
}
AmbientMovement.m
#import "VA_AmbientMovement.h"
@implementation VA_AmbientMovement
/* Initialise the AmbientMovement constructor */
-(id)initAmbientMovement:(Frame[])frames AndFPS :(float)fps{
self=[super init];
if(self){
FPS = 0;
NUMBER_FRAMES = 0;
CYCLE = 0;
indexAmbient = 0;
timeAmbient = 0;
timeCurrent = 0;
Frame* frame = [[Frame alloc] initAmbientManager:frames AndFPS:fps];
TRSet* trset = [[TRSet alloc] initAmbientManager:frames AndFPS:fps];
Morph* morph = [[Morph alloc] initAmbientManager:frames AndFPS:fps];
Quaternion* quat = [[Quaternion alloc] initAmbientManager:frames AndFPS:fps];
}
return self;
};
-(id)init{
return [self initAmbientMovement:0 AndFPS: 0];
};
私が混乱している主な事柄の 1 つは、型クラスのパラメーターを渡す方法です。Java では、これは「Frame[] フレーム」を通じて行われます。次の行「(Frame[])aframes」を使用して Objective-C でこれを実行できますか、それとも間違いですか?
どうもありがとう