1

私は C4 アプリを使用しており、C4Shape のサブクラスを作成しました。サブクラス内からキャンバスにアクセスするのに問題がありますが、それを確認する方法や、別のオブジェクトからキャンバスにアクセスする方法がわかりません。

これは私がこれまでに持っているコードです:

#import "Platform.h"

@implementation Platform {
    CGPoint o;
    C4Timer *timer;
    int speed;
}

-(void) setup {
    speed = 10;
    [self rect:CGRectMake(0, 0, 100, 100)];

    timer = [C4Timer automaticTimerWithInterval:1.0f/30
                                         target:self
                                         method:@"push"
                                        repeats:YES];
    o = self.center;
}

+(id) platformWithRange:(CGRect)s {
    Platform * bb = [Platform new];
    bb.range = s;
    return bb;
}

-(void) push {
    // check boundaries
    o.x-= speed;
    if( 0 >= o.x - 50 ) {
        o.x = range.size.width;
    }
}
@end
4

1 に答える 1

1

この回答の 2 番目の部分をご覧ください: https://stackoverflow.com/a/15885302/1218605

メイン ワークスペースからキャンバスを設定するサブクラスにプロパティを作成できます。

@implemenation C4WorkSpace

-(void)setup {
    CustomSubclass *obj = [CustomSubclass new];
    obj.canvas = self.canvas;
}

@end
于 2013-11-04T02:52:46.330 に答える