2011-07-27 9 views
1

iPad用のiOSアプリケーションでは初心者です。私は正常にUIImageViewを使用して子供の本のアプリを実装しました。また、スワイプジェスチャーを実装してページを横断しました。各ページは、UIImageView内で単一の画像としてロードされ、シーンを語る音声を再生します。UIImageViewのインタラクティブ

ここで私のページにいくつかのインタラクティブ機能を追加したいと思います。例えば、私はUIImageViewにロードされた単一の画像を持っています。これには、特定のシーンの動物キャラクターや方言が含まれていません...ユーザーが特定の動物をタップするたびに、動きがあるはずです(ライオンが鳴っているかのように)私のアプリは、その動物のサウンドを含むオーディオファイルを再生する必要があります...どのように私はこの機能を達成することができますか?私はそれを実装できるようにコンセプトを理解する必要があります。私はすべての動物のために別々の画像を持っていて、独自のUIImageViewでそれらをロードし、メイン(またはバックグラウンド)UIImageViewの中にこれらすべてのUIImageViewsを持っていますか?そのような機能をどのように実装すべきかという概念を私に説明することができれば感謝します。

私は動物の触れたように、画面上の各動物のホットスポットとして機能し、タッチされた動物のサウンドファイルを再生するCGRectのリストを定義できますが、これらのホットスポットをどのように動的に定義できますか?これは特定のページ/画像上の動物の位置に基づいて各ページ上に非常に多く存在するからです。また、これは、特定の動物のためにいくつかの動き/アニメーションを実装するのに役立たないかもしれません。

答えて

0

不可視ボタンが機能するはずです。それが最初の場所でalloc'edていなかったので、あなたがボタンをDEALLOCする必要はありません(

 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     btn.frame = CGRectMake(7, 5, 73, 30); 
     [btn setImage:[UIImage imageNamed:@"btn_pixel.png"] forState:UIControlStateNormal]; 
     [btn addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchUpInside]; 
     [self.view addSubview:btn]; 

:動的にあなたがタップしたい領域に合わせて1つのピクセルの透過PNGを使用し、ボタンのサイズを)

次に、「doSomething」という関数を作成して、必要な処理を行います。あなたの例では、それは動物の音を演奏するでしょう。

+0

Thx Jeffrey、このアプローチを試してみましょう。それは愚かに聞こえるかもしれませんが、私はそこにボタンのためのフレームを作成することができます(ジャングルに座っている動物のカップルと)私のイメージ内の動物の位置の座標を見つけることができますか? – Alex

+0

Photoshopで画像を開いてマウスを動かすと(情報パネルが開いている)、x座標とy座標を取得できます。次に、マスクを描き、幅と高さのwとhの値を見てみましょう。また、「目玉」で完全に正確である必要はありません。 –

+0

テストするときは、btn_pixel.pngファイルを無地の色(鮮やかな緑色)でスワップして、タッチ領域の場所を確認することができます。:-) –

0

動物に別々の写真がある場合は、それらをUIButtonsとして使用して写真を「カスタム」にし、動物の写真を選択する必要があります。

そうでなければ、動物の上に目に見えないボタンを置き、下のコードを実行してください。適切なサイズの透明な.pngとカスタムUIButtonが機能するはずです。

が行う、これらのボタンは音を行うようにするには:助け

-(IBAction)lionRoar { 

NSString *path = [[NSBundle mainBundle] 
        pathForResource:@"LionRoar" ofType:@"mp3"]; 
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
[theAudio play]; 


} 

希望を!

+0

Thx Phill。現在、動物は別々の写真ではなく、ジャングルに座っている動物のカップルを示す一つの画像があります。 – Alex

+0

私が上に示したコードを持つ動物の上に目に見えないボタンがありますか?私は自分の答えを更新しました。 – Phill

+0

Phill、私は理解していますが、LIONはさまざまな画像の異なる位置に座っている可能性があります。各画像のLIONの位置に不可視のボタンを追加する必要がありますか? IBを使って?この画像を動的に追加するには良い方法はありますか? – Alex

関連する問題