UIView を拡張する TileView というクラスがあります。別のビューで、9 つの TileView オブジェクトを作成し、それらを画面に表示します。以下はそのうちの1つの例です
tile1 = [[TileView alloc]
initWithFrame:CGRectMake(20,20, 100, 150)
withImageNamed:@"tile1.png"
value: 1
isTileFlipped: NO];
ユーザーはどのタイルにも触れることができます。タイルに触れると「ひっくり返されます」 - 画像は無地の茶色のタイルに名前が付けられ、isTileFlipped
「YES」に設定されます。今、私がこだわっている部分があります: 確認ボタンがあります。
確認ボタンが押されると、裏返されたすべてのタイルが取得され、それらが という配列に追加されacceptedTiles
ます。確認が押された後、タイルをacceptedTiles
押したり操作したりできないことを確認する必要があります。これを行うための最良の方法は何であるかについて、私は途方に暮れています。ここtouchesBegan
に何が起こっているのかを把握できるようにします。
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
int currentTileCount = [(BoxView *)self.superview getTileCount];
int currentTileValue = [self getTileValue];
int tilecount;
if (!isFlipped) {
[image setImage:[UIImage imageNamed:@"tileflipped.png"]];
isFlipped = YES;
tilecount = currentTileCount + currentTileValue;
[(BoxView *)self.superview setTileCount:tilecount];
[(BoxView *)self.superview addToArray:self index:currentTileValue-1];
}
else {
[image setImage:[UIImage imageNamed:imageNamed]];
isFlipped = NO;
tilecount = currentTileCount - (int)currentTileValue;
[(BoxView *)self.superview setTileCount:tilecount];
[(BoxView *)self.superview removeFromArray: currentTileValue-1];
}
}