Введение: 2D проект, в котором есть два Sprite. Первый передвигается в позицию касанию на экран (Touch), Второй же перемещается/отдаляется к Первому. Все перемещения делаются через transform.position
.
Суть проблемы: Второй передвигается с заданной скоростью без нареканий, но не Первый.
Во-первых: т.к. это 2D, то я фиксирую Z-ось в FixedUpdate, потому что при таче происходит изменение этой самой оси. (Аналогично происходит и если тач заменить на позицию курсора - улетает по Z...). Как это можно решить, чтобы не фиксировать Z-ось?
Во-вторых: само передвижение:
Touch touch = Input.GetTouch(0);
Vector3 touchpos = cam.ScreenToWorldPoint(newVector3(touch.position.x, touch.position.y, 0f));
touchpos.Normalize();
float moveposX = touchpos.x * speed * Time.fixedDeltaTime;
float moveposY = touchpos.y * speed * Time.fixedDeltaTime;
PlayerObj.transform.position = PlayerObj.transform.position + new Vector3(moveposX, moveposY,0f);
Передвижение слишком медленное. Да, можно добавить скорости (speed), но Второй объект, который следует/отдаляется за Первым имеет такую же скорость и такой код
Vector3 delta = transform.position - Player.position;
delta.Normalize();
if (Vector2.Distance(transform.position, Player.transform.position) < Distance && Catch.CurrentCatch == "Enemy")
{
Enemy.transform.position += -delta * Speed * Time.fixedDeltaTime;
}
else
{
Enemy.transform.position += delta * Speed * Time.fixedDeltaTime;
}
Если использовать Input.GetAxis
, то управление на клавиатуре оказывается ровно таким, как и у Второго объекта - точно такая же скорость.
Как можно решить проблему привязки Z-оси и скорости передвижения объекта управляемого через позицию тача/мыши?
Попробуйте заменить Vector3 touchpos =
на Vector2 touchpos =
.
Vector3 delta
кстати тоже кривая.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Имеется форма без рамок с одним элементом axWindowsMediaPlayerПо сути, что то типа окна плеера
Триггер не видит название кнопки которая вложена в popupbox но если кнопку вынести за пределы popupbox то все работаетКак сделать чтобы триггер увидел...
Есть авторитарный сервер и клиент на юнитиХотелось бы сделать в клиенте терминал (на "~", к примеру), в котором можно вводить чит коды, такие...