0 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 5
1

Скрипт на преследование монстром

07.08.2013, 15:17. Показов 36365. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
начал делать игру на unity 4, плохо знаю языки программирования. возникла проблема с CSharp ом. хочу написать скрипт чтобы пи входе в триггер включался скрипт преследования монстром(этот у меня есть) а при выходе монстр отключался. и при том при всем еще и саундтрек был пока я в этом триггере. вот скрипт:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using UnityEngine;
using System.Collections;
 
public class scriptslender : MonoBehaviour {
    public GameObject[] soundtrack;
    public GameObject[] target;
    // Use this for initialization
    void Awake ()
    {
    slenderscript.setActive(false); 
    }
    void onTriggerStay(Collider other)
    {
        if (other.collider.tag == "Player") {
        target.SetActive(true);
        gameObject.audio.Play ();
    }
    }
    void onTriggerExit () 
        {
        target.SetActive(false);
        gameObject.audio.Stop();
    }
}
посмотрите плиз, что там не так. не появляются ячейки под скрипт монстра и музыку. и вообще не знаю работает или нет
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2013, 15:17
Ответы с готовыми решениями:

Преследование в ЖЖ
Один пользователь ЖЖ меня преследует. Пишет оскорбительные сообщения в мой адрес. Но пишет не в...

Преследование-атака
А-а-ах, замонался совсем. Так ладно, может кто делал. Как сделать,чтобы юнит при атаке другого...

ИИ Unity3d | Патрулирование + преследование
Всем добрый день. Есть данный прототип игры (на очень начальной стадии). Из точки А (голубой куб) в...

Преследование одним Shape-ом другого
Есть два шейпа, хочу сделать для красного, зону видимости ,то есть когда синий входит в эту зону то...

9
52 / 52 / 7
Регистрация: 13.10.2012
Сообщений: 180
10.08.2013, 22:52 2
а зачем вы массивы задаете?
C#
1
2
public GameObject[] soundtrack;
public GameObject[] target;
попробуйте так
C#
1
2
public GameObject soundtrack;
public GameObject target;
0
0 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 5
15.08.2013, 15:24  [ТС] 3
все так же...
0
411 / 275 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
17.08.2013, 13:15 4
Ну для того что бы монстр просто преследовал можно использовать функцию LookAt() которая заставляет объект следовать за каким-то другим объектом.

Создайте пустой скрипт и вставьте это:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using UnityEngine;
using System.Collections;
 
public class EnemyAI : MonoBehaviour
{
    //дистанция от которой он начинает видеть игрока
    public float seeDistance = 5f;
    //дистанция до атаки
    public float attackDistance = 2f;
    //скорость енеми
    public float speed = 6;
    //игрок
    private Transform target;
    
    void Start ()
    {       
        target = GameObject.FindWithTag ("Player").transform;
    }
    
    void Update ()
    {
        if (Vector3.Distance (transform.position, target.transform.position) < seeDistance) {
            if (Vector3.Distance (transform.position, target.transform.position) > attackDistance) {
                    //walk
                    transform.LookAt (target.transform);
                    transform.Translate (new Vector3 (0, 0, speed * Time.deltaTime));
            }
        } else {
            //idle
        }
    }
}
Набросал на коленке, но в общем он работает по идее. ПО комментариям думаю понятно что и как значит. Вот так как раз LookAt() и срабатывает в плане того что он поворачивается в нужную сторону и начинает идти на target
2
52 / 52 / 7
Регистрация: 13.10.2012
Сообщений: 180
17.08.2013, 23:43 5
по поводу музыки
повестье скрипт на триггер и аудиосорс кинтьте на игрока
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using UnityEngine;
using System.Collections;
 
public class test : MonoBehaviour 
{
    public AudioSource soundtrack; //место для звука
    public GameObject target; //место для игрока
 
    void OnTriggerEnter (Collider other) //при входе в триггер
        {
            if (other.collider.tag == "Player") // если это игрок
            {
                Debug.Log("collided."); //дебажим
                soundtrack.audio.Play (); //и включаем музыку
            }
        }
 
    void OnTriggerExit () //при выходе 
        {
            Debug.Log("uncollided."); //дебажим
            soundtrack.audio.Stop(); //выключаем музыку
        }
    }
1
0 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 5
18.08.2013, 10:02  [ТС] 6
А еще, ребят как кго влючать при входе в триггер?
0
411 / 275 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
19.08.2013, 22:14 7
Цитата Сообщение от Jeloo Посмотреть сообщение
А еще, ребят как кго влючать при входе в триггер?
вот так
C#
1
2
3
4
5
6
7
void OnTriggerEnter (Collider other) //при входе в триггер
        {
            if (other.collider.tag == "Player") // если это игрок
            {
                soundtrack.audio.Play (); //и включаем музыку
            }
        }
0
0 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 5
20.08.2013, 16:34  [ТС] 8
я про монстра, но все равно спасибо. я разберусь как время будет
0
411 / 275 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
20.08.2013, 16:40 9
Цитата Сообщение от Jeloo Посмотреть сообщение
я про монстра, но все равно спасибо. я разберусь как время будет
Так а какая разница? вместо
C#
1
 soundtrack.audio.Play ();
вставьте вашего монстра, например если хотите что бы он включался по проходу тригера, то вставьте его на сцену, дальше сделайте не активным, а потом в тригере делайте его активным
C#
1
 taarget.SetActive(true);
1
29 / 29 / 8
Регистрация: 16.10.2012
Сообщений: 170
24.07.2015, 19:32 10
Большое спасибо ! скрипт очень помог !
0
24.07.2015, 19:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2015, 19:32
Помогаю со студенческими работами здесь

Преследование персонажа врагом Unity 2D
День добрый, проблема такая. Когда я включаю is Trigger на Collider2D, то враги начинают проходить...

Как в игре реализовать преследование героя противником
Есть объект - Герой мы им управляем, есть противник. Как сделать чтоб противник пытался...

Необходимо вставить в скрипт увеличения картинки, скрипт просмотра панорамы 360
Здравствуйте. У меня такой специфический вопрос, на моем сайте имеется скрипт для увеличения...

Объединить скрипт удаления переводов строки и скрипт вставки перевода по специальному символу
Здравствуйте, решаю задачу обработки текстового файла, необходимо сперва удалить все переносы...

Скрипт.Нужно из файла csv в AD. и автоматом этот скрипт добавляет 50 пользователей из execl
Import-Module ActiveDirectory $Users = Import-CSV -Delimiter &quot;;&quot; -Path &quot;C:\test\lol.csv&quot; $allou =...

Чтобы скрипт на баше запустил через gcc скрипт на c++
Есть скрипт на баше, во время его выполнения нужно чтобы он запустил еще один (на c++). Может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru