Добавлено (02 мая 2016, 18:33) --------------------------------------------- Помогите еще разок, пожалуйста. Нужно сделать так, чтобы когда бот приближался к игроку, он вращался с заданной скоростью. Заранее спасибо.
Добавлено (02 мая 2016, 18:43) --------------------------------------------- Вот скрипт
Код
using UnityEngine; using System.Collections;
public class MonsterAI : MonoBehaviour { //настраиваемое public Transform target; // Цель public int moveSpeed; // Скорость перемещения public int rotationSpeed; // Скорость поворота public float maxDistance; // Максимальное приближение к игроку private float curDistance; // Текущая дистанция public int ReactionDistance; // Дистанция на которой монстр реагирует private float PointDistance; // Дистанция до поинта public GameObject ObjPoint; // Объект поинта private Transform Point; // Трансформ поинта для возвращения
private Transform myTransform; // Временная переменная для хранения ссылки на свойство transform
void Awake(){ //ссылка на transform чтоб сократить время обращения его в теле скрипта myTransform = transform;
}
// Use this for initialization void Start () { //ищем по тегу player GameObject go = GameObject.FindGameObjectWithTag("Player"); //поставить на него прицел target = go.transform; Point = ObjPoint.transform;
if(maxDistance == null) maxDistance = 3; }
// Update is called once per frame void Update () {
Добавлено (30 апреля 2016, 13:31) --------------------------------------------- Zekkin, во общем такой скрипт я навоял, опираясь на ваш,
using Unity.Engine; using System.Collections; using System;
public class A_attackPl1 : MonoBehaviour { public Animation anim;
public AnimationClip a_attackPL1; //Use this for initialization void Start() { PlInf = GetComponent<PlayerInfo> (); anim.Stop(); }
//Update is called once per frame void Update() {
if (Input.GetKey (KeyCode.Space)){
RunAnimation(); anim ["Attack"].speed = 1f; } } }
но все-равно выдает ошибку The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference?
Добавлено (30 апреля 2016, 14:12) --------------------------------------------- Ребят, решил заняться пока скриптом для бота, писал по туториалу, но все-равно выдает ошибку The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference? Пробовал в полностью чистом проекте. Как исправить эту ошибку?
Пошаманил немного, во общем осталась одна ошибка Assets/Scripts/A_attackPl1.cs(2,7): error CS0246: The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference?
Вот такое выдает Assets/Scripts/Attack.cs(11,37): error CS1525: Unexpected symbol `(', expecting `identifier' Я так понял, он ожидал идентификатор вместо какой-то скобки.
Сообщение отредактировал Vitelch - Пятница, 29 Апреля 2016, 23:21
Перевел ошибку, начал исправлять. Теперь пишет, мол, нет клипа анимации "The animation state Attack could not be played because it couldn't be found! Please attach an animation clip with the name 'Attack' or call this function only for existing animations. UnityEngine.Animation:Play(String) Attack:Update() (at Assets/Scripts/Attack.cs:16)"
Хм... исправил.Теперь вот так при нажатии кнопки пишет "MissingComponentException: There is no 'Animation' attached to the "Player" game object, but a script is trying to access it. You probably need to add a Animation to the game object "Player". Or your script needs to check if the component is attached before using it. UnityEngine.Animation.Play (System.String animation) (at C:/buildslave/unity/build/artifacts/generated/common/modules/Animation/AnimationsBindings.gen.cs:420) Player2.Update () (at Assets/Scripts/Player2.cs:35)".Попробовал поставить Animation на объект. Но ничего не изменилось
Помогите, пожалуйста, исправить скрипт. Нужно чтобы анимация проигрывалась по нажатию кнопки. Пока что лишь выдает ошибку "Assets/Scripts/Attack.cs(15,23): error CS1061: Type `UnityEngine.Component' does not contain a definition for `Play' and no extension method `Play' of type `UnityEngine.Component' could be found (are you missing a using directive or an assembly reference?)". Вот скрипт
using UnityEngine; using System.Collections;
public class Attack : MonoBehaviour {
// Use this for initialization void Start () {
}
// Update is called once per frame void Update () { if (Input.GetKey(KeyCode.Space))//если не ошибаюсь, что 0, а не 1 { animation.Play("Attakc");//как-то так должно быть } } }
Сообщение отредактировал Vitelch - Пятница, 29 Апреля 2016, 22:33
Помогите еще разок, пожалуйста! Никак не могу понять, как сделать фоновую музыку?Надо чтобы она не прерывалась при переходах в разные комнаты.
Добавлено (02 апреля 2016, 22:37) --------------------------------------------- В общем я запутался со своим проектом окончательно. Пойду еще раз пройдусь по учебникам и туториалам. Может быть, когда-нибудь вернусь к проекту. Закрывайте тему.
Еще вопрос. Как сделать так, чтобы когда мышью на кнопку наводишь, в определенном месте появлялось изображение, а если наводишь на другую кнопку, появляется другое изображение на том же месте?
Здравствуйте, пришла мне в голову мысль, сделать текстовый квест, главной его фишкой будет огромное количество концовок и вариантов развития событий. Теперь, собственно, вопрос, в какой программе его делать( у меня есть некоторые мысли по поводу GM), где можно написать музыкальную тему, и можно ли использовать обычные карандашные рисунки в качестве иллюстраций к квесту?