@Wadim_wadim2000

Unity — как растянуть спрайт между двумя точками?

https://drive.google.com/file/d/10iG416UY21V206Gpb...
на видео показал, в чем проблема. Во первых - спрайт некорректно вращается по отношению к "концу" стрелки, который всегда направлен в сторону клика мыши. И пожалуйста, помогите решить еще второй вопрос - как растянуть спрайт "середины" стрелки от спрайта точки до конца стрелки?

А, да-да , вот скрипт
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class w : MonoBehaviour
{
    public GameObject arrow_end;
    public GameObject arrow_line;
    public GameObject player;
    public float arrow_offset;
    public float dist;
    void Start()
    {
        arrow_end.SetActive(false);
    }
    void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            var mousePos = Input.mousePosition; mousePos.z = 60f;
            var worldPos = Camera.main.ScreenToWorldPoint(mousePos);
            var sprite_pos = player.transform.position;
            var rot_diff = sprite_pos - worldPos;
            var rotation = (Mathf.Atan2(rot_diff.y, rot_diff.x) * Mathf.Rad2Deg) - 0f;

         
            float dist = Vector2.Distance(sprite_pos, worldPos);

            arrow_end.transform.position = worldPos;
            arrow_end.transform.rotation = Quaternion.Euler(0.0f, 0.0f, rotation);
            arrow_end.transform.position += arrow_offset * - arrow_end.transform.up;
            arrow_end.transform.gameObject.SetActive(true);

         
            arrow_line.transform.rotation = Quaternion.Euler(0.0f, 0.0f, rotation);
          

           

        }      
    }
}
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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