@WalloutDay

2D игра.Связь скриптов. Как вызвать bool из другого скрипта?

У меня 2D игра.Сделал стрельбу и пули. При нажатии на кнопку выстрела, создаётся пуля со скриптом "moveScript".Но появляется проблема, если персонаж идёт вправо, то всё хорошо, пуля летит вправо. А если он идёт влево, то пуля так же идёт вправо. В скрипте есть directionInput и он всегда равен 1, как мне его менять? Я думаю может сделать вызявать во время спавна пули скрипт персонажа, в котором мы возьмём уже имеющийся facingright и переобразуем его в переменную int directionInout, так что бы есть FR(true) тогда DI = 1, а если false то -1.
Делал так, но не
using UnityEngine;
using System.Collections;

public class MoveScript : MonoBehaviour
{

    public Vector2 speed = new Vector2(10, 10);
    public bool facingRight = true;
    public int directionInput = 1;
    public Vector2 direction = new Vector2(0,0);
    public bool LeftRight;

    private Vector2 movement;

    void Update()
    {

        CharacterController1 LR = GetComponent<CharacterController1>();
        LeftRight = LR.facingRight;
        if (LeftRight == true)
        {
            directionInput = 1;
        }else if (LeftRight == false)
        {
            directionInput = -1;
        }
        movement = new Vector2(speed.x * directionInput, speed.y * direction.y);

    }

    void FixedUpdate()
    {

        GetComponent<Rigidbody2D>().velocity = movement;

        if (directionInput > 0 && !facingRight)
            Flip();
        else if (directionInput < 0 && facingRight)
            Flip();

    }


    void WalkLeft()
    {

        directionInput = -1;

    }

    void WalkRight()
    {
        
        directionInput = 1;

    }

    void Flip()
    {
        facingRight = !facingRight;
        Vector3 theScale = transform.localScale;
        theScale.x *= -1;
        transform.localScale = theScale;
    }


}
работает( Что делать?
  • Вопрос задан
  • 1325 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WalloutDay Автор вопроса
Проблема в том что сама пуля лежит в префабе. И возможно из-за этого невозможно переобразовать скрипт.
Её самой изначально нету в игре. Он появляется при нажатии.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы