はてなブックマークに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はてなブックマークに追加

回転のジェスチャを取得する


iOS 3.2以前にローテイト(回転)やスワイプなどの
ジェスチャを取得するためにはtouchesMoved:withEvent:
の中に、自前で取得のためのプログラムを実装する必要がありました。

iOS 3.2からはUIGestureRecognizerというクラスが追加され、
非常に簡単にユーザのジェスチャを取得できるようになりました。

回転のジェスチャを取得する例を下に示します
- (void)viewDidLoad {
[super viewDidLoad];

UIRotationGestureRecognizer* rotationGesture =
[[UIRotationGestureRecognizer alloc] initWithTarget:
self action:@selector(didRotationGesture:)];
[self.view addGestureRecognizer:rotationGesture];
[rotationGesture release];
}

-(void) didRotationGesture:(UIRotationGestureRecognizer*) sender {
UIRotationGestureRecognizer* rg =
(UIRotationGestureRecognizer*) sender;
NSLog(@"rotate:%f", rg.rotation);
}


viewDidLoad関数の中で、UIRotationGestureRecognizerクラスの
インスタンスを作成し、Viewにジェスチャとして登録します。
インスタンスには、回転のイベントが発生したときにトリガされる関数を
登録しておきます。

上のプログラムではトリガ関数としてdidRotationGestureを作成しました。
引数から回転角などを得ることが出来ます。


毎度おなじみの彼を回転させてみました。笑

UIGestureRecognizer1.jpg

このように、UIImageViewやUIViewを回転させる場合には
コールバック関数の中で次のように書けばよいでしょう。

-(void) didRotationGesture:(UIRotationGestureRecognizer*) sender {  
UIRotationGestureRecognizer* rg =
(UIRotationGestureRecognizer*) sender;
[imageView setTransform:
CGAffineTransformRotate(prevTransform, rg.rotation)];
}


prevTransformは前回の回転イベントが終了した時の姿勢です。
touchesEndedの中などで、保存しておけばよいでしょう。
また、デフォルトではマルチタッチイベントは取得されない設定になっているので
IBでマルチタッチを有効にしておく必要があります。

UIGestureRecognizer2.jpg


UIGestureRecognizerを用いれば、回転だけでなく
タップ・ピンチイン・ピンチアウト・パン・スワイプ
ローテイト・ロングプレス
などのイベントも取得することが出来ます。

これらのイベントも回転のイベントと同様の方法で
取得できるので、ぜひ実験してみてください。

スポンサーサイト
はてなブックマークに追加

まるっと抽象画

iPhoneアプリ abstractionsの紹介です。

このアプリでは、読み込んだ写真を
ワンタッチで抽象画風のイラストに変換することが出来ます。

使用した写真がこちら
abstractions1.jpg

この写真を読み込み、変換すると
このようになります。
abstractions2.jpg

どうでしょう?
結構,いい感じに変換出来ているのではないでしょうか?
とくに、キャンバスの質感というか、立体感がいいですね!

ただ、少し全体的に明度を落とし過ぎかな、という気はします。
他の写真でも試してみましたが、
いまいち明度コントロールはうまくいきませんねぇ。

どういうアルゴリズムを使ってるのかな?
ちょっと変換後の写真のプロファイルを覗いてみました。
それが、こちら。
abstractions2_5.jpg

あぁ、なーるほど。
こういうのをみると、なんとなくアプリの内部で
どういう処理が行われているのか分かっちゃいますね(笑)
プチ・リバースエンジニアリング気分(^^;;;)

ということで、少しいじってみました。
ちょちケバいかも!?
abstractions3.jpg

ご購入はこちらから
banner.png

はてなブックマークに追加

マリモ!マリモ?マリモ

iPhoneアプリ iMarimoの紹介です。

最初見たとき、iマリオだと思った(笑)
マリモなのね。

iMarimo1.jpg


このアプリ、ただマリモが動くだけの不思議アプリです。
いやぁ、無料アプリだけあって、何でもやり放題ですね(^^;;)

でも、無料アプリだからこそ、
こういうのをどんどんやって欲しい!
ご当地アプリって好きなんですよね、僕は。

実は、このマリモ。
拡大してみると・・・

iMarimo2.jpg

ちゃんとフサフサ感がある!!!
いわゆるファーシェーダと言われている技術です。
女の人が巻いているファーと同じ意味合いのファーですね。

シェーダ大手のNVIDIAのデモでも登場するこの技術。
なぜ無料アプリの、しかもマリモに使ったんだ!?
ある意味、面白い(笑)
iMarimo3.jpg

ご購入はこちらから
banner.png


開発アプリ

iDOF 色影 ラテアート ぱすてる

プロフィール

Author:hokuson
京都在住。iPhoneアプリ「色影」や「iDOF」の開発者。アプリのレビューとかもしてみる。博士後期課程@R大学。ついに就職活動なるものをしなければいけないらしい。誰か雇ってください。笑。

カレンダー
09 | 2010/09 | 10
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
カテゴリ
最新コメント
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。