Я новичок в единстве 3D-игры. Я создаю игру с головоломкой из дерева. Я хочу перемещать небольшие части дерева в соответствии с положением мыши. Я использую rigidbody2D. Во время движения я также хочу обнаружить столкновение с другими деревянными частями и любым другим препятствием. Пожалуйста, помогите мне.Move Rigidbody2D, когда мышь перетащить
ответ
Вы сценарий вероятно, будет выглядеть примерно так (это зависит от конкретной функциональности, которую вы ищете):
#pragma strict
private var moveWithMouse : boolean = false;
private var lastMousePosition : Vector3;
function Update()
{
var changeInMousePosition : Vector3 = Vector3(0,0,0);
if (lastMousePosition != null)
{
changeInMousePosition = Input.mousePosition-lastMousePosition;
}
lastMousePosition = Input.mousePosition;
if (moveWithMouse)
{
transform.position += Camera.main.ScreenToWorldPoint(changeInMousePosition) - Camera.main.ScreenToWorldPoint(Vector3(0,0,0));
}
}
function OnMouseDown()
{
moveWithMouse = true;
}
function OnMouseUp()
{
moveWithMouse = false;
}
Здесь все страницы документации, которые объясняют орнаментальные части кода выше.
http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseUp.html http://docs.unity3d.com/ScriptReference/Input-mousePosition.html http://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html
Если есть что-то в коде, который до вас, и не распространяется на страницах документации (например, Vector3, Transform, функция обновления и т.д ..) то вам будет полезно посетить руководство для новичков до единства, прежде чем пытаться выполнить проект.
https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/coding-for-the-absolute-beginner
Для того, чтобы использовать мой сценарий, должен:
- Создать GameObject (тот, который вы хотите быть перетаскиваемым)
- Добавить спрайт визуализатор к нему (и выберите изображение, которое вы хотите для него)
- Добавить 2d коллайдер (polygon2d для точности , Circle2d или Box2D для скорости)
- Создайте новый скрипт и добавить его в GameObject
обучения, как использовать редактор Юнити может быть даже более важным, чем само программирование, когда речь идет о создании и настройке самостоятельно игры, поэтому, если вы не знаете, как это сделать (создайте GameObject и добавьте Компоненты), вы должны обратиться к руководству для новичков в редакторе Unity.
Вот набор обучающих страниц о редакторе Unity в: http://docs.unity3d.com/Manual/UnityBasics.html
Вот страница я думаю, самое главного: http://docs.unity3d.com/Manual/UnityBasics.html
Надеется, что это помогает. Cheers
Помните, что код не проверен. Я не знаю, будет ли это работать, но вам нужно начать. Свяжитесь со мной, если у вас есть непоправимые проблемы –
- 1. Мышь Move and ViewController
- 2. SWTBot, чтобы перетащить мышь
- 3. мышь перетащить & падение
- 4. Мышь Move Capture (мышь оставляем и вводим мышь)
- 5. Мышь Move Handle на ListBox
- 6. Мышь перетащить, чтобы прокрутить содержимое
- 7. множественный выбор используя мышь перетащить
- 8. Мышь перетащить в Alternativa3d 8?
- 9. PyWinAuto перетащить и перетащить мышь из рамки управления в другую
- 10. отключить строку добавить на мышь перетащить
- 11. Мышь перетащить на клавиатуре в android
- 12. Opengl -Прозрачный круг на мышь перетащить
- 13. Фос расположение и перетащить мышь функция
- 14. Выделение ячеек таблицы на мышь перетащить
- 15. Unity rigidbody2d tilt issue
- 16. Проверьте столкновение2D без Rigidbody2D
- 17. JAVA - Получить мышь, когда мышь нажата
- 18. Перетаскивание и поворот Rigidbody2D (с HingeJoint). Shadow Play/Моделирование марионеток
- 19. Мышь Move Effects - Css, возможно, Javascript может вспыхнуть?
- 20. Единство - лучший способ перетащить объект игры RigidBody2D с помощью мыши/касания
- 21. Python: подсчет, когда мышь Вниз, остановитесь, когда мышь Вверх
- 22. Когда клик, мышь вызывается?
- 23. Выделите когда мышь overing
- 24. Мышь, когда приложение занято
- 25. Проблемы с rigidbody2D в единстве
- 26. Имитировать мышь move/click/keyPress в неактивном приложении
- 27. Имитировать мышь move/click/keyPress в неактивном приложении
- 28. Как обнаружить правую мышь вниз и другую мышь вниз, а левую мышью перетащить на NSTextView?
- 29. Unity Rigidbody2D Velocity Sudden Freeze
- 30. Когда использовать Move Constructors/Assignments
Привет и добро пожаловать в SO. Просьба представить код с тем, что вы пробовали до сих пор. –
Что произойдет, если игрок попытается переместить что-то в другой объект? –