Спрайт-кит ios game slingshot machanism похож на игру Angry Bird
Я новичок в IOS Gaming, и мне нужно создать игру с использованием фреймворка Sprite Kit для функциональности, аналогичной системе шкивов разъяренной птицы, и я также хочу найти расстояние, на которое объект проходит от шкива до его посадки.
Может ли кто-нибудь помочь мне с этим, я был бы благодарен за это. Заранее спасибо.
1 ответ
Одним из способов кодирования эффекта рогатки было бы использование начальной точки на экране, скажем, (x=100,y=100). Вы бы отобразили SpriteNode из рогатки с Y в центре (100,100).
Следующим шагом будет использование touchesBegan:withEvent:
в области рогатки, чтобы ваш код знал, что игрок хочет выстрелить из рогатки.
Вы бы использовали touchesMoved:withEvent:
чтобы отследить, насколько далеко назад (насколько сильно натянуто) игрок отступает от рогатки.
Релиз будет триггером touchesEnded:withEvent
, На основании того, как далеко началось касание (х = 100) и как далеко назад отпущено (например, х =30), вы можете применить силу следующим образом:
float forceUsed = startTouchX - endTouchX;
[_projectile.physicsBody applyForce:CGVectorMake(forceUsed, 0)];
Если вы смотрите на угол выстрела, вам также придется отслеживать Y и использовать эту переменную вместо 0 выше.
Что касается расчета расстояния между двумя точками на экране, оно сводится к координатам x и y. Вычтите objectA.position.x из objectB.position.x
Конечно, все может быть намного сложнее, но все зависит от того, что вы хотите сделать в своем коде. Надеюсь это поможет.
PS Приведенные выше штрихи являются частью UIResponder Class
,