
今回はアニメーション処理を学習した。ビューとレイヤーを使ったアニメーションのサンプル(別プロジェクトファイル)を作ってから、タイトル画面とプレイ画面に適用した。^{ … }の構文はブロック(クロージャ)みたい。今回も画像はPixelmatorで作った。少しずつ慣れてきた。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// …
// タップされたときのアクションを設定する
// ここではmoveViewWithTap:メソッドを呼び出すようにする
UITapGestureRecognizer *gesture;
SEL sel = @selector(moveViewWithTap:);
gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:sel];
// ジェスチャーをビューにセットする
[self.view addGestureRecognizer:gesture];
}
// タップされたときに実行するメソッド
- (void)moveViewWithTap:(UITapGestureRecognizer *)gesture
{
// ジェスチャーが完了状態になっていないときは実行しない
if (gesture.state != UIGestureRecognizerStateEnded) {
return;
}
// タップされた座標を調べる
CGPoint pt;
pt = [gesture locationOfTouch:0 inView:self.view];
// ...
// 移動の色の変化がアニメーションとなるようにする
// アニメーションは0.5秒間とする
[UIView animateWithDuration:0.5 animations:^{
// 新しい座標に移動する
self.movingView.frame = rt;
// 新しい背景色に変更する
self.movingView.backgroundColor = color;
}];
}
Chapter03-013までやった。
参考サイト
- iPhoneソーシャルゲーム開発 書籍詳細|株式会社 C&R研究所
- iOS Developer Library
“Blocksプログラミングトピックス”にObjective-Cのブロック(クロージャ)の解説あり - クロージャ – Wikipedia
クロージャについて
iPhoneソーシャルゲーム開発
posted with amazlet at 12.07.12
林 晃
シーアンドアール研究所
売り上げランキング: 245996
シーアンドアール研究所
売り上げランキング: 245996
関連エントリー
