2013-03-28 3 views
0

Я пытаюсь изучить box2d в cocos2d. Я искал онлайн-уроки, и луч Вендерлиха казался лучшим! Я участвую в медленном, но устойчивом темпе! В настоящее время я разрабатываю приложение, в которое я буду включать мяч в экран, и каждый раз, когда я касаюсь/выбираю этот мяч, он будет двигаться, как кто-то щелкает футбольный мяч. Я закодировал часть для восходящего движения (ось y) шара, касаясь/постукивая по нему. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти способ дать шару соответствующий угол для поворота и перемещения по оси х. Позвольте привести пример. Представьте, что вы флиртовали футбольный мяч, вы поднимаете мяч вверх, но также на спине крутится сила. Я пытаюсь развить вращение и перемещение по оси x. Я хотел бы коснуться мяча, например, в его нижнем правом углу, и двигаться и двигаться реалистично. Прикосновение к нему в правом нижнем углу, когда мяч находится в воздухе, означает, что мяч будет двигаться и вращаться в левой части экрана. Надеюсь, я прояснил ситуацию! Я был бы признателен, если бы кто-то помог мне понять такое движение! Если вы все еще не понимаете концепцию своей игры, найдите «parksoccer», и вы поймете, что я пытаюсь разработать.Как я могу переместить мяч в Cocos2D, Box2D, как щелчок реального мяча, с касаниями?

+0

Если вы не получили ответа здесь, вы можете попробовать на http://gamedev.stackexchange.com/ – Oren

ответ

0

Я сделал это только вчера. В этом случае вы можете сделать это, когда вы касаетесь или коснитесь экрана, вы берете эту точку в ccTouchesBegan, а затем находите положение шара методом GetPostion() на теле. Затем вам нужно вычислить угол между этими двумя точками и найти, в каком направлении мяч будет проходить из этих двух точек. теперь у вас есть угол и направление, в которое будет идти мяч, примените linearForce к этому с помощью ApplyLinearForce (b2vec2 forceangle, body-> GetPosition()). Это оно.

Наслаждайтесь.