Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 10.12.2019, 13:02   #1
Дима Димов
Новичок
Джуниор
 
Регистрация: 10.12.2019
Сообщений: 2
По умолчанию Юнити3д

Здравия.
Недавно начал создавать скрипты для игры - в теме совершенный новичок.
В скрипте все работает (пушка ищет цель) :
GameObject[] targets = GameObject.FindGameObjectsWithTag(e nemyTag);
Случайно установил, что скрипт поиска целей и управления пушкой не полностью описывает реальность, которая мне нужна.

1. Возможно ли осуществить поиск объектов по переменной типа String по типу того как это делается для GameObject.FindGameObjectsWithTag? Подробнее почему тэг не подходит в качестве параметра для поиска в видео https://wdho.ru/deYe (NB Видео на файлообменнике для скачивания. Его можно прямо там посмотреть,

Понимаю, что пишу ересь, но нужно, что-то вроде:

GameObject[] targets = GameObject.FindGameObjectsWithStrin g("Friend1");
GameObject[] targets = GameObject.FindGameObjectsWithVar(1 000001);

Последний раз редактировалось Дима Димов; 10.12.2019 в 13:11.
Дима Димов вне форума Ответить с цитированием
Старый 13.12.2019, 17:09   #2
Дима Димов
Новичок
Джуниор
 
Регистрация: 10.12.2019
Сообщений: 2
По умолчанию

Понятно.
Может на это ответите?
Это реально 10-й скрипт в моей жизни, который я написал. Что-то зв нем неправильно. Подскажете что?

Код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipDistance : MonoBehaviour
{
    public Vector3 previousShipPosition;
    public Vector3 newShipPosition;
    public double distanceX;
    public double newdistanceX;
    public double newdistanceZ;
    public double distanceZ;
    public double shipSpeed;
    public double shipWay;
    public double newShipWay;
    
    // Start is called before the first frame update
    void Start()
    {
       
    }

    // Update is called once per frame
    void Update()
    {
        distanceX = newShipPosition.x - previousShipPosition.x;
        distanceZ = newShipPosition.z - previousShipPosition.z;
        if (distanceX < 0) { newdistanceX = distanceX * -1; }
        if (distanceX > 0) { newdistanceX = distanceX; }
        if (distanceZ < 0) { newdistanceZ = distanceZ * -1; }
        if (distanceZ > 0) { newdistanceZ = distanceZ; }

        shipSpeed = Mathf.Sqrt(Mathf.Pow(newdistanceX, 2) + Mathf.Pow(newdistanceZ, 2));
        shipWay = shipSpeed;

        newShipWay = shipWay + shipSpeed; 
        
        previousShipPosition = transform.position;
        
        

    }
    void LateUpdate()
    {
        newShipPosition = transform.position;
        

        
    }
}
Дима Димов вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы