1. minely

    Posted

    minely
Changes in title
+筆圧感知お絵かきアプリサンプル
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,38 @@
+機能の3dtouchメモの④に当たる機能を調べてみた。
+iOS9.1でペンの関係でかなり変わるらしいけどとりあえずUITouchでforceで取れるということらしい。
+
+ってことですごい簡単に筆圧感知お絵かきアプリを作って見ました。
+今までお絵かきアプリって**「UIBezierPath」**を使ったんだけどこれだとパスを作って
+最後に色、太さを決めるなんでとりあえず適当にいけそうな
+**Core Graphics**を使ったやつで実装してみました。
+コードは
+[kameware/forcetouchtest](https://github.com/kameware/forcetouchtest)
+に置いてあります。
+ただこのお絵かきアプリのやり方ってundo,redoの戻る進むの考え方ができないのでもっと良いやり方がアレば教えて下さい。
+
+コードの解説としては
+```objc:ViewController.m
+ // 線太さ
+ float lineWidthc = 10.0;
+ if ([touch respondsToSelector:@selector(force)]) { // force対応判定
+ NSLog(@"force:%f", touch.force);
+ lineWidthc = lineWidthc * touch.force; // forceに合わせ太さを変更
+ }
+ CGContextSetLineWidth(UIGraphicsGetCurrentContext(), lineWidthc);
+```
+ッて感じでデフォルトを10としてそれに足してforce(~1.0)をかけてるだけです。
+簡単!でもこれじゃ戻れないからこのままではダメだ!どうすれば。。。。
+
+
+■今回の参考
+いい感じのgitサンプルとして
+[ynishi2014/PressTest](https://github.com/ynishi2014/PressTest)
+[yusuga/ForceTapGestureRecognizer](https://github.com/yusuga/ForceTapGestureRecognizer)
+が参考になりました。
+ありがとうございます。
+
+お絵かきアプリはこちら
+[Core Graphicsで作るiPad向けお絵描きアプリの基礎 (2/4)](http://www.atmarkit.co.jp/ait/articles/1012/15/news118_2.html)
+を参考
+
+[UITouch Class Reference](https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITouch_Class/index.html#//apple_ref/occ/instp/UITouch/force)