2013-07-18 2 views
0

Я работаю над игрой. У меня есть куча плохих парней, атакующих хорошие самолеты. Теперь я хочу, чтобы пользователь мог вручную выбрать, сколько ракет нужно снимать на самолетах плохих людей.Правильный способ возврата INT-метода UISlider?

У меня есть метод, который добавляет subview, содержащий UISlider, чтобы выбрать, сколько ракет нужно снимать.

Пример (поток кода):

1) Плохие парни, хорошие парни плоскости видеть друг друга.

2) Перейти к методу UISlider.

3) (> нужно INT, чтобы продолжить программу здесь <)

4) Пользователь выбирает номер в методе UISlider и селектор называется.

5) Селектор UISlider - (как я вернусь в расположение 3)

Моя проблема заключается не в программировании, а логика?. Чтобы быть конкретным, каков правильный способ вернуть INTIS метода UISlider обратно в местоположение кода, которое первоначально называлось методом UISlider?

Также было бы здорово повторить использование того же метода (в игре много плохих парней).

ответ

1

Я не думаю, что это хороший способ, чтобы вернуть значение UISlider.

Сначала, как заявил Абдулла Шафик, вам нужно создать метод 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 shootMissles: 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. 
} 
+0

Спасибо за ответ. Опять же, я создаю все программно. Нет IBAction. То, что я ищу, похоже на функцию INPUT в APPLE BASIC. – sangony

+0

Отредактировал мой ответ. Надеюсь это поможет. – JustAnotherCoder

+0

@sangony удачи в реализации этого? – JustAnotherCoder

0

IBAction UISlider:

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

EDIT: Добавить IBAction:

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

Я создаю subview, UISlider программно. – sangony

+0

@sangony Я отредактировал свой ответ. –

+0

Спасибо, Абдулла, но я получил все это. Моя проблема заключается не в программировании, а в логике. Как вернуть выбранное значение в точку в коде, из которого был вызван метод UISlider? – sangony

Смежные вопросы