Пятница, 27.12.2024, 08:23 Приветствую Вас Гость


Allunity3d.ucoz.net

Главная | Регистрация | Вход | RSS
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Уроки от Сергея Хоббиток
javalistДата: Пятница, 30.04.2021, 20:35 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 1
Статус: Offline
Наконец разобрался как добавить новую тему. не обратил внимание нужно было ответить на сообщение какое-нибудь  на 3 вопроса.... ok 

Я по видео написал скрипт.Когда от хожу от рабочего и снова подхожу к работнику  анимации  нет ? Как исправить тот Баг!!! 

Вот ваш Скрипт из урока

Подскажите

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
Репутация: 9
Статус: 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);
}
}
}

С уважением Сергей Хоббиток
 
  • Страница 1 из 1
  • 1
Поиск: