javalist | Дата: Пятница, 30.04.2021, 20:35 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Наконец разобрался как добавить новую тему. не обратил внимание нужно было ответить на сообщение какое-нибудь на 3 вопроса....
Я по видео написал скрипт.Когда от хожу от рабочего и снова подхожу к работнику анимации нет ? Как исправить тот Баг!!!
Вот ваш Скрипт из урока
Подскажите
using UnityEngine; using System.Collections;
public class AI_WORK : MonoBehaviour { public GameObject Worker; public float timer =2.0f; public bool yes; public float newtimer; public AnimationClip idle; public AnimationClip work; void Start () { Worker = (GameObject)this.gameObject; newtimer=timer; } void OnTriggerEnter(Collider other){ if (other.tag == "Player") { GetComponent<Animation)[work.name].wrapMode = WrapMode.Loop; animation.Play(work.name); } } void OnTriggerExit(Collider other){ if(other.tag == "Player") { yes=true; } } void Update () { if(yes==true){ timer -= Time.deltaTime; } if(timer < 0){ yes=false; GetComponent<Animation).Stop(); GetComponent<Animation)[idle.name].wrapMode = WrapMode.Loop; animation.Play(idle.name); } } }
|
|
| |
allunity3d | Дата: Пятница, 30.04.2021, 20:43 | Сообщение # 2 |
Рядовой
Группа: Администраторы
Сообщений: 16
Статус: Offline
| Необходимо добавить строчку кода приравнять время timer=newtimer; Между кодами
void Update () { if(yes==true){ timer -= Time.deltaTime; } if(timer < 0){ yes=false;
timer=newtimer
GetComponent<Animation).Stop(); GetComponent<Animation)[idle.name].wrapMode = WrapMode.Loop; animation.Play(idle.name); } } }
С уважением Сергей Хоббиток
|
|
| |