Так что это мой скачок в стене, он отлично работает, и я даже могу заставить персонажа отскочить назад от стены немного, когда стена спрыгивает с левой стены, используя SetHorizontalForce (10);
. Поэтому проблема, с которой я сталкиваюсь, - это когда я положил SetHorizontalForce (-10);
, чтобы отскакивать от правой стены, поэтому он не может больше подняться по стене, вместо этого он отскакивает от стены, но не получает больше высоты. Является ли это SetHorizontalForce (-10);
каким-то образом воздействием оси y символа? Или что-то еще происходит совсем?Имея проблемы при попытке отскока от стены со стеной, прыжок C#
public void WallJump()
{
if (State.HasCollisions) {
AddForce (new Vector2 (0, Parameters.JumpMagnitude));
_jumpIn = Parameters.JumpFrequency;
}
if (State.IsColidingLeft) {
SetHorizontalForce (10);
_dashIn = Para.DashFrequency;
}
else if (State.IsColidingRight){
SetHorizontalForce (-10);
_dashIn = Para.DashFrequency;
}
}
EDIT: мне было предложено включить мой SetHorizontalForce, так вот она:
private Vector2 _velocity;
public void SetHorizontalForce(float x)
{
_velocity.x = x;
}
EDIT2: Это, как обрабатывается моя _velocity.
public void AddForce(Vector2 force)
{
_velocity = force;
}
public void SetForce(Vector2 force)
{
_velocity += force;
}
public void SetHorizontalForce(float x)
{
_velocity.x = x;
}
public void SetVerticalForce(float y)
{
_velocity.y = y;
}
Странно, я не могу найти SetHorizontalForce в документах. Это что-то, что вы перевернули? Если да, тогда вы могли бы включить его? – Terrance
@ Поверенный Эй, я включил свой SetHorizontalForce, если что-то еще нужно, не стесняйтесь спрашивать. Спасибо, что посмотрели. – kenyurick
Это также помогло бы, если бы вы показали мне остальную часть класса. Где-то вы устанавливаете скорость на фактическую скорость игрового объекта? Также вы вызываете Wall Jump в FixedUpdate или Update или какой-либо другой метод \ co-rout? – Terrance