Создайте джойстик / D-Pad в Xcode для перемещения UIImageView (содержащий символ) - PullRequest
0 голосов
/ 08 апреля 2011

У меня UIImageView подключен к игре, которую я кодировал. Однако я хотел бы знать, как я мог бы перемещать этот UIImageView с помощью джойстика / D-Pad. Я не кодировал JoyStick или D-Pad, так как не знаю как. Я был бы очень признателен, если бы вы могли рассказать мне, как я мог бы заниматься этим, делая это.


Edit:

Виртуальный джойстик (в приложении).

Ответы [ 2 ]

3 голосов
/ 08 апреля 2011

Если вы работаете с взломанным iphone, вы можете попробовать этот урок для использования rs232 для последовательной связи с iphone / ipod.

В противном случае, если вы хотите действовать законно, внешний джойстик, подключенный к 30-контактному разъему iphone, или через Bluetooth, требует, чтобы вы были зарегистрированным разработчиком iOS (RAD), а такжечасть программы Made for iPod (MFI).

Настройка связи с аксессуаром на iOS требует использования ExternalAccessoryFramework , пример проекта Apple для которого здесь: EADemo , и руководство Apple здесь Внешние темы программирования аксессуаров .

Существует также книга Apress под названием Сборка аксессуаров для iPhone OS и соответствующий демонстрационный проект игры в понг, похожий на то, что вы хотите сделать.В этой книге рассказывается, как настроить код EAAccessoryFramwork, а также как собрать оборудование для игрового контроллера, но не описывается, как написать какую-либо прошивку для аксессуара, поскольку для получения этой информации вам необходимо иметь лицензию MFi.

Надеюсь, этого достаточно, чтобы вы начали.:)

2 голосов
/ 08 апреля 2011

Если вы хотите создать виртуальный dpad, попробуйте следующее:

Создайте 4 объекта UIButton и настройте их с помощью стрелок направления (я бы порекомендовал сделать эту часть в IB).

Затем создайте 4 отдельных метода IBAction и свяжите их с вашими кнопками через IB или программно в viewDidLoad.

Каждый метод IBAction должен выглядеть примерно так:

-(IBAction)moveLeft:(id)sender{
     myImageView.center = CGPointMake(myImageView.center.x-10, myImageView.center.y); 
}

-(IBAction)moveRight:(id)sender{
     myImageView.center = CGPointMake(myImageView.center.x+10, myImageView.center.y); 
}

-(IBAction)moveUp:(id)sender{
     myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y-10); 
}

-(IBAction)moveDown:(id)sender{
     myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y+10); 
}

Вы можете изменить 10 на любое количество пикселей, которое вы хотите, чтобы ваше изображение двигалось.

Если вы хотите, чтобы при перемещении вид был анимированным, вы можете заключить код движения в блок анимации:

[UIView animateWithDuration:1.0 animations:^{
     myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y+10); 
}]; 

Дайте мне знать, если вам нужны дальнейшие разъяснения.

...