-1

基本的にゆるい鳥のクローンである、いじるアプリを作成しました。画面に触れたときに音を出す方法を知る必要があります。ボタンを使用してみましたが、画面全体ではなく、ボタンに触れたときにのみ音が再生されます。ボタンを押すと鳥が落ちてきました。おそらく TouchBegan を使用する必要があることはわかっていますが、どのコードを使用し、どこに配置すればよいでしょうか? 私はこの分野の新人なので、より詳細なほど良いです。ありがとう!

4

2 に答える 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 に答える