私は、ユーザーが画面上で指をドラッグして点をたどらなければならないアプリケーションを作ろうとしています。ユーザーがドットに達するたびに、次のポイントに移動します(合計で5つの等距離点があり、特定の座標があります)。ボタンを画面の周りに動かし、指のジェスチャーの精度を記録します。
フィンガーによってトレースされたパスの長さは、2つのドットごとに記録され、アレイに格納され、その値は最終的に平均化されます(理想的なパス、最短のパスとのパスを比較します) 。
-(IBAction)button1Clicked:(UIButton *)sender {
CGRect buttonFrame = sender.frame;
int dotX = arc4random() % (int)(1000 - buttonFrame.size.width);
int dotY = arc4random() % (int)(self.view.frame.size.height - buttonFrame.size.height);
buttonFrame.origin.x = dotX;
buttonFrame.origin.y = dotY;
[sender setFrame:buttonFrame];
NSLog(@"x = %f, y = %f", self.button1.frame.origin.x, self.button1.frame.origin.y);
}
私はプログラム的に配列に格納され、いくつかのボタンを使用してボタンを追加しようとしましたが、また、直接ストーリーボードから、と私はまだのための最善の方法だろうどの考え出したていませんそれが意味することをするアプリ。
私のコーディングの知識はまだ非常に貧しいされて、私はそれが画面内を移動するために(内部のタッチダウン)をクリックする必要があり、ドット形状のボタンでアプリを作るために管理し、いつましたユーザーはそれを押して、私のiPadの画面上のランダムなポイントに移動します。代わりに、コードが実行を停止して結果が平均化されるまで(コードを "for"ループの内側に置く必要がある)、ジェスチャはタッチダウンするのではなく、内側をドラッグして触れてください。 誰かが私にいくつかのヒントを与えるのを手伝うことができれば素晴らしいだろう!
ありがとう開始されます!これは私を助けてくれました!唯一残っている問題は、各ドットの座標がランダムではなく、定義されているのが好きではないということです。私が意味することは、一定の回数の反復に達するまで、ドットが固定されたパス(私が選んだポイントのセットによって定義される)に従って、ゲームの全期間中それに固執するということです。また、配列に値が追加されていないため(NSLog(@ "%lu"、unsigned long)values.countを追加すると値を数える "if"ステートメントが機能していないようです。私がドットを何回も押しても、コードは1になる。 –
1のカウントの理由は、各ボタンタップでvalues配列を 'init'する可能性が高いということです。これは、空を宣言していることを意味しますボタンをタップするたびに配列を返します。値の配列はinterfaceと宣言し、viewDidLoadでは 'init'を使います。ランダムではなく座標のセットを生成するには、必要なボタンのタップごとに辞書を作成し、x、y、minDistance、 actualDistance、それぞれの値をviewDidLoadで値に追加します。すべてのボタンタップでインクリメントするintを宣言して、値配列のインデックスを知ることができます。後で必要に応じて回答を更新することができます – Shayno
ありがとうございました!はい、私は絶対初心者であり、まだObj-C配列や辞書に慣れていないので、できるだけ早く回答を更新できるのであれば、本当に役に立ちます。私はあなたの指示に従うことができます! –