基本的にゆるい鳥のクローンである、いじるアプリを作成しました。画面に触れたときに音を出す方法を知る必要があります。ボタンを使用してみましたが、画面全体ではなく、ボタンに触れたときにのみ音が再生されます。ボタンを押すと鳥が落ちてきました。おそらく TouchBegan を使用する必要があることはわかっていますが、どのコードを使用し、どこに配置すればよいでしょうか? 私はこの分野の新人なので、より詳細なほど良いです。ありがとう!
1267 次
2 に答える
1
サブクラスを使用している場合はUIView
、次のメソッドを実装して、タップが発生したかどうかを判断できます。そこから、サウンドを再生するだけです。(注、ARC を使用)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// now that we know that a touch has occurred, lets play a sound
NSString *pathToMySound = [[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"aif"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID([NSURL fileURLWithPath: pathToMySound], &soundID);
AudioServicesPlaySystemSound(soundID);
}
于 2014-04-04T04:29:00.403 に答える
0
UITapGestureRecogniser
おそらくself.view
、または名前を付けたものなら何でもメインビューに追加してみてください。
ユーザーの操作が有効になっていることを確認し、呼び出されるたびにサウンドを再生するセレクターを作成します。
この記事が役立つかもしれません。試したことはありませんが、正しい方向に進んでいるようです。ただし、UIGesture をプログラムで追加します。
--これは、クレートする方法ですUITapGesture
//this stuff goes in your viewDidLoad for example
UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSthCool:)];
singleTap.numberOfTapsRequired = 1;
singleTap.numberOfTouchesRequired = 1;
[self addGestureRecognizer: singleTap]; //self or wherever you want to add it
.....
.....
- (void) doSthCool: (UITapGestureRecognizer *)recognizer{
//Code to handle the gesture
NSLog(@"flap");
}
また、URL を使用しようとしているときに、その動作がわからない場合は CFURLRef を使用しないでください。代わりに、次のようなことを試してください。
NSURL *path = [NSURL URLWithString:@"whatever the url/path is."];
行き詰まったときは、いくつかのことをグーグルで検索することをお勧めします。それが学ぶための最良の方法です:)
がんばれ!コーディングを楽しんでください:)
于 2014-04-04T04:18:50.087 に答える