0

私はゲームに取り組んでいます。善人の飛行機を攻撃する悪人の飛行機がたくさんあります。ここで、悪者の飛行機に向けて発射するミサイルの数をユーザーが手動で選択できるようにしたいと考えています。

UISlider を含むサブビューを追加して、発射するミサイルの数を選択するメソッドがあります。

例 (コードの流れ):

1) 悪者も善人も飛行機同士が顔を見合わせる。

2) UISlider メソッドにジャンプします。

3) (>ここでプログラムを続行するには int が必要です<)

4) ユーザーが UISlider メソッドで番号を選択すると、セレクターが呼び出されます。

5) UISlider セレクター - (場所 3 に戻るにはどうすればよいですか?)

私の問題はプログラミングではなく、ロジックです。具体的には、UISlider メソッドの INT を最初に UISlider メソッドを呼び出したコードの場所に戻す正しい方法は何ですか?

また、同じ方法を再利用できるのは素晴らしいことです (ゲームには悪者がたくさんいます)。

4

2 に答える 2

1

UISlider 値を返す良い方法はないと思います。

まず Abdullah Shafique が述べたように、次のように UISLider のメソッドをプログラムで作成する必要があります。

[yourSlider addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];

次に、次のような番号を選択した後、必要なメソッドを呼び出す必要がある場合があります。

- (void)valueChanged:(id)sender {
    UISlider *slider = (UISlider *)sender;
    int value = slider.value;

    [self shootMissles:value]; //This line will send the value of slider to the method below.
}

私は INPUT と APPLE BASIC に精通していませんが、[self shotMissles:value] という行はスライダーの値をメソッドに渡し、そこで好きなことを行うことができます。例えば:

 - (void)shootMissles:(float)numOfMissles {
     //code to shoot x number of missles based on UISlider value - be mindful 
     //that UISlider spits out float values, you will have to round to get whole numbers.
 }
于 2013-07-19T09:14:11.110 に答える
0

IBAction UISlider:

- (IBAction)valueChanged:(id)sender {
    UISlider *slider = (UISlider *)sender;
    int value = slider.value;
}

編集:IBActionを追加:

[yourSlider addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];
于 2013-07-18T18:23:50.890 に答える