FC2ブログ

スポンサーサイト

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

アプリ「TIMERx4」公開 [App]

アプリ第3弾、「TIMERx4」が App Storeで公開されました!

4つのキッチンタイマーを同時に動作させることが出来るアプリです。

各タイマーはアナログのダイヤルを備えています。
ダイヤルを指で回すことで、ワンタッチで時間を設定できます。

4つのタイマーが並んだ通常表示では1分単位で最大59分まで、
ズーム表示では59時間59分59秒まで時間を設定できます。

アラーム音は設定画面で8種類から選択できます。
アラーム音のON/OFF、バイブレーションのON/OFF、効果音のON/OFFもできます。

画面上のPボタンを押すことで、8種類のプリセットを順番に選択できます。
プリセットの時間とテキストは、設定画面で自由に編集できます。

他のアプリを使っている時や、デバイスがロック状態の時は、時間が来たときに通知をすることが出来ます。







App Storeへのリンクはこちらです。無料アプリです。
AnaDigiClock - K App Design←日本語版 英語版→AnaDigiClock - K App Design
関連記事
スポンサーサイト

NSArrayにCGRectを入れる[Xcode]

CGRectの値を入れたNSArrayを作るときにハマったので、ひとくちメモです。

CGRectの値そのままではNSArrayに入らないので、NSValueに変換してから入れます
    NSValue *val1 = [NSValue valueWithCGRect:
CGRectMake(000.0, 000.0, 160.0, 190.0)];
NSValue *val2 = [NSValue valueWithCGRect:
CGRectMake(000.0, 190.0, 160.0, 190.0)];
array = [NSArray arrayWithObjects:val1, val2, nil];


取り出すときは下記のようにします。
   CGRect rect =  [[array objectAtIndex:0] CGRectValue];

関連記事

テーマ : iPhoneアプリ ジャンル : 携帯電話・PHS

極座標で2点間の距離と角度を求める [Xcode]

ある点(画面中央など)を原点として、原点とタッチした場所の距離と角度を求める方法をご紹介します。

2点間の距離を求める


原点とタッチした点の直行座標での差を(x,y)とすると、2点間の距離はピタゴラスの定理を用いて、r = √(x*x + y*y) で求めることが出来ます。
以下はtouchesBeganに組み込んだ例です。画面の上側をY座標+としてます。


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// 原点 viewの中心
CGPoint org = CGPointMake(self.view.frame.size.width/2,
self.view.frame.size.height/2);
// タッチ座標を取得
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
// 座標の差を求める 画面の上側をY座標+とするので、Y座標は符号を入れ替える
float x = location.x - org.x;
float y = -(location.y - org.y);
// 距離rを求める
float r = sqrt(x*x + y*y);
NSLog(@"距離:%f", r);
}


2点間の角度を求める


角度radを求めるには三角関数の atanを使う方法があります。
float rad = atan(y/x);
ですが atanを使った場合、角度がπ/2または-π/2(90度または-90度)を超えた際に補正が必要となります。また xがゼロだとゼロ除算で例外が発生してしまうので、場合分けも必要になります。


atanの代わりに atan2を使うと補正が必要なく、ゼロ除算例外も発生しなくなります。
x,yが floatの値なら、floatの演算をする atan2fが使えます。括弧内の引数が y, x の順なので注意してください。

これで πから-π(180度から-180度)まで、正しく角度を求めることができます。


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// 原点 viewの中心
CGPoint org = CGPointMake(self.view.frame.size.width/2,
self.view.frame.size.height/2);
// タッチ座標を取得
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
// 座標の差を求める 画面の上側をY座標+とするので、Y座標は符号を入れ替える
float x = location.x - org.x;
float y = -(location.y - org.y);
// 角度radianを求める
float radian = atan2f(y, x);
// 度に変換
float degree = radian *360 /(2*M_PI);
NSLog(@"ラジアン:%f 度:%f", radian, degree);
}


なお、角度を 0から2π(0度から360度)で求めたいときは、radianのマイナス部分に補正をします。


    // radianに補正をする
if(radian < 0) {
radian = radian +2*M_PI;
}
関連記事
Appご紹介
K app designのAppをご紹介します

ねこわけ

画面中央の猫を次々に仕分けるゲームです。

あまり計算機

あまりを計算できる割算専用の計算機です。

6オクターブ ピアノ

6オクターブ鍵盤のピアノアプリです。iPad専用。

Dynamic Drum

様々な演奏法が楽しめるドラム演奏アプリです。

クイズボタン

早押しクイズのサポートをするアプリです。

クイズボタン Pro

クイズボタンに点数表示機能が付きました。

クイズボタン HD

クイズボタンのiPad専用版。回答者ボタンが8つに増量。

ベロシティ ピアノ

タップの強弱で音量が変わるピアノアプリです。

TIMERx4

4つのキッチンタイマーを同時に動作できるアプリです。

アナデジClock

アナログとデジタルが融合した時計です。
検索フォーム
最新記事
最新コメント
カテゴリ
人気ページ
月別アーカイブ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。