アプリの上に半透明の画像を含むビューがあり、そのビューに 3D キューブ (または 3D に似たキューブ - 3 つのポリゴンでできている) を表示する必要があります。
立方体の各面はタッチ可能で、一度タッチすると識別されます。つまり、ID を使用してイベントを発生させるか、独自のイベントを発生させるたびにキューブを回転させます...どうすればそれを達成できますか?
私が求めているものを視覚化しようとします:
だから、この示された立方体から行くために...
赤い顔に触れた後
このコードは、イベントを発生させる単純なタッチ可能なボタンを示しているだけです。
@implementation cubeView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self setBackgroundColor:[UIColor clearColor]];
UIImageView *view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Label.png"]];
// For RETINA DISPLAY create an image named Label@2x.png and make it twice big in x and in y
[self addSubview:view];
UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(20,20,100,30)];
[lbl setText:@"Hello"];
[lbl setBackgroundColor:[UIColor clearColor]];
[self addSubview:lbl];
}
return self;
}
ビューコントローラー
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *container = [[[UIView alloc] initWithFrame:CGRectMake(100, 0, 400, 200)]
autorelease];
[self.view addSubview:container];
container.alpha = 0.2;
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
b.frame = CGRectMake(0, 0, 201, 98);
cubeView *cb = [[[SS alloc] initWithFrame:CGRectMake(0, 0, 201, 98)] autorelease];
[b setImage:[self imageWithView:cb] forState:UIControlStateNormal];
[container addSubview:b];
[b addTarget:self action:@selector(clicked:)forControlEvents:UIControlEventTouchUpInside];
}