Ошибка в animation.Play - Форум Игроделов
Пт, 17 Май 2024, 08:43 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Ошибка в animation.Play
Ошибка в animation.Play
folikmeo2001Дата: Сб, 15 Ноя 2014, 22:19 | Сообщение # 1
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Привет. Я хочу сделать включение анимации если run_animation, что-то типо если обьект входит в триггер меняется false на true и включается анимация, но пишет ошибку.
Код
using UnityEngine;
using System.Collections;

public class zombie : MonoBehaviour {

  public Transform player;
  public float move_speed;
  public float rotation_speed;
  public Transform enemy;
  public AnimationClip run;
  public AnimationClip stop;

  void Update()

  {
   var run_animation = false;
   var stop_animation = true;
   var animation = true;

   if (run_animation == true);
   {
    animation.clip = run;
    animation.Play();
   }
 
СообщениеПривет. Я хочу сделать включение анимации если run_animation, что-то типо если обьект входит в триггер меняется false на true и включается анимация, но пишет ошибку.
Код
using UnityEngine;
using System.Collections;

public class zombie : MonoBehaviour {

  public Transform player;
  public float move_speed;
  public float rotation_speed;
  public Transform enemy;
  public AnimationClip run;
  public AnimationClip stop;

  void Update()

  {
   var run_animation = false;
   var stop_animation = true;
   var animation = true;

   if (run_animation == true);
   {
    animation.clip = run;
    animation.Play();
   }

Автор - folikmeo2001
Дата добавления - 15 Ноя 2014 в 22:19
seamanДата: Вс, 16 Ноя 2014, 00:10 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
crazy lol
 
Сообщениеcrazy lol

Автор - seaman
Дата добавления - 16 Ноя 2014 в 00:10
waruiyumeДата: Вс, 16 Ноя 2014, 00:30 | Сообщение # 3
Нет аватара
 
Сообщений: 85
Награды: 1
Репутация: 37
Статус: Offline
if(false==true)CollapseUniverse();
http://www.visualstudio.com/products/visual-studio-community-vs
http://rutracker.org/forum/viewtopic.php?t=4493905
Подобные недоразумения будут выделятся автоматически.


 
Сообщениеif(false==true)CollapseUniverse();
http://www.visualstudio.com/products/visual-studio-community-vs
http://rutracker.org/forum/viewtopic.php?t=4493905
Подобные недоразумения будут выделятся автоматически.

Автор - waruiyume
Дата добавления - 16 Ноя 2014 в 00:30
folikmeo2001Дата: Вс, 16 Ноя 2014, 00:48 | Сообщение # 4
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Цитата waruiyume ()
if(false==true)CollapseUniverse();
http://www.visualstudio.com/products/visual-studio-community-vs
http://rutracker.org/forum/viewtopic.php?t=4493905
Подобные недоразумения будут выделятся автоматически.


извиняюсь конечно, но в чем ошибка то?
 
Сообщение
Цитата waruiyume ()
if(false==true)CollapseUniverse();
http://www.visualstudio.com/products/visual-studio-community-vs
http://rutracker.org/forum/viewtopic.php?t=4493905
Подобные недоразумения будут выделятся автоматически.


извиняюсь конечно, но в чем ошибка то?

Автор - folikmeo2001
Дата добавления - 16 Ноя 2014 в 00:48
waruiyumeДата: Вс, 16 Ноя 2014, 01:06 | Сообщение # 5
Нет аватара
 
Сообщений: 85
Награды: 1
Репутация: 37
Статус: Offline
foo = false
if(foo == true)


 
Сообщениеfoo = false
if(foo == true)

Автор - waruiyume
Дата добавления - 16 Ноя 2014 в 01:06
seamanДата: Вс, 16 Ноя 2014, 08:37 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Код
animation = true
animation.clip

Цитата
в чем ошибка то?

В незнании программирования...
 
Сообщение
Код
animation = true
animation.clip

Цитата
в чем ошибка то?

В незнании программирования...

Автор - seaman
Дата добавления - 16 Ноя 2014 в 08:37
folikmeo2001Дата: Вс, 16 Ноя 2014, 15:51 | Сообщение # 7
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Цитата seaman ()
В незнании программирования...


Да, я новичок, но я сейчас исправил немного скрипт и ошибки нет.
Код
using UnityEngine;
using System.Collections;

public class zombie : MonoBehaviour {

  public Transform player;
  public float move_speed;
  public float rotation_speed;
  public Transform enemy;
  public AnimationClip run;
  public AnimationClip stop;
  public AnimationClip ataka;

  void Update()

  {
   var run_animation = true;
       if (run_animation == false)
       {
         animation.clip = run;
         animation.Play ();

         var look_dir = player.position - enemy.position;
         look_dir.y = 0;
         enemy.rotation = Quaternion.Slerp (enemy.rotation, Quaternion.LookRotation (look_dir), rotation_speed * Time.deltaTime);
         enemy.position += enemy.forward * move_speed * Time.deltaTime;
       }
   var stop_animation = false;
   if (stop_animation == false);
   {
    animation.clip = stop;
    animation.Play();
   }

   var anim_ataka = true;
   if (anim_ataka == false);
   {
    animation.clip = ataka;
    animation.Play();
   }
    
   
  }
}


False и true работает, но теперь помогите пожалуйста с триггером, что если при входе в триггер допустим какого то обьекта с тегом "See" run_animation = true менялся на run_animation = false, а stop_animation = false на stop_animation = true.
 
Сообщение
Цитата seaman ()
В незнании программирования...


Да, я новичок, но я сейчас исправил немного скрипт и ошибки нет.
Код
using UnityEngine;
using System.Collections;

public class zombie : MonoBehaviour {

  public Transform player;
  public float move_speed;
  public float rotation_speed;
  public Transform enemy;
  public AnimationClip run;
  public AnimationClip stop;
  public AnimationClip ataka;

  void Update()

  {
   var run_animation = true;
       if (run_animation == false)
       {
         animation.clip = run;
         animation.Play ();

         var look_dir = player.position - enemy.position;
         look_dir.y = 0;
         enemy.rotation = Quaternion.Slerp (enemy.rotation, Quaternion.LookRotation (look_dir), rotation_speed * Time.deltaTime);
         enemy.position += enemy.forward * move_speed * Time.deltaTime;
       }
   var stop_animation = false;
   if (stop_animation == false);
   {
    animation.clip = stop;
    animation.Play();
   }

   var anim_ataka = true;
   if (anim_ataka == false);
   {
    animation.clip = ataka;
    animation.Play();
   }
    
   
  }
}


False и true работает, но теперь помогите пожалуйста с триггером, что если при входе в триггер допустим какого то обьекта с тегом "See" run_animation = true менялся на run_animation = false, а stop_animation = false на stop_animation = true.

Автор - folikmeo2001
Дата добавления - 16 Ноя 2014 в 15:51
игнатДата: Вс, 16 Ноя 2014, 19:26 | Сообщение # 8
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Код


    void Update()   

    {   
     var run_animation = true; //я конечно же всё понимаю, но где логика? Вы задаёте значение и, дальше, спрашиваете противоположное ему.
         if (run_animation == false)   
         {   
           animation.clip = run;   
           animation.Play ();   

           var look_dir = player.position - enemy.position;   
           look_dir.y = 0;   
           enemy.rotation = Quaternion.Slerp (enemy.rotation, Quaternion.LookRotation (look_dir), rotation_speed * Time.deltaTime);   
           enemy.position += enemy.forward * move_speed * Time.deltaTime;   
         }   
     var stop_animation = false; //ещё раз
     if (stop_animation == false);   
     {   
      animation.clip = stop;   
      animation.Play();   
     }   

     var anim_ataka = true; //и ещё раз
     if (anim_ataka == false);   
     {   
      animation.clip = ataka;  //и вообще - лучше присваивание противоположного значения в конец ставить, потому что логически это можно приравнять к return.
      animation.Play();   
     }   

В итоге я не знаю, что у вас должно быть. Проверка на триггер? - открываем мануал и читаем.



Правила форума · участник GCC
 
Сообщение
Код


    void Update()   

    {   
     var run_animation = true; //я конечно же всё понимаю, но где логика? Вы задаёте значение и, дальше, спрашиваете противоположное ему.
         if (run_animation == false)   
         {   
           animation.clip = run;   
           animation.Play ();   

           var look_dir = player.position - enemy.position;   
           look_dir.y = 0;   
           enemy.rotation = Quaternion.Slerp (enemy.rotation, Quaternion.LookRotation (look_dir), rotation_speed * Time.deltaTime);   
           enemy.position += enemy.forward * move_speed * Time.deltaTime;   
         }   
     var stop_animation = false; //ещё раз
     if (stop_animation == false);   
     {   
      animation.clip = stop;   
      animation.Play();   
     }   

     var anim_ataka = true; //и ещё раз
     if (anim_ataka == false);   
     {   
      animation.clip = ataka;  //и вообще - лучше присваивание противоположного значения в конец ставить, потому что логически это можно приравнять к return.
      animation.Play();   
     }   

В итоге я не знаю, что у вас должно быть. Проверка на триггер? - открываем мануал и читаем.

Автор - игнат
Дата добавления - 16 Ноя 2014 в 19:26
folikmeo2001Дата: Вс, 16 Ноя 2014, 21:21 | Сообщение # 9
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Цитата игнат ()
Проверка на триггер? - открываем мануал и читаем.

я пишу значение true какое оно будет изначальное, а потом если оно будет противоположное например активируется анимация или анимация и преследование за обьектом

______________________________
да я читал и видел это
Код
public class ExampleClass : MonoBehaviour{
void OnTriggerEnter(Коллайдер other) {
Уничтожить(в других.gameObject);
}


но я не знаю как это грамотно вставить, это же уже отдельный void.
вот в этом мне и нужно помочь как при входе в триггер менялось значение
 
Сообщение
Цитата игнат ()
Проверка на триггер? - открываем мануал и читаем.

я пишу значение true какое оно будет изначальное, а потом если оно будет противоположное например активируется анимация или анимация и преследование за обьектом

______________________________
да я читал и видел это
Код
public class ExampleClass : MonoBehaviour{
void OnTriggerEnter(Коллайдер other) {
Уничтожить(в других.gameObject);
}


но я не знаю как это грамотно вставить, это же уже отдельный void.
вот в этом мне и нужно помочь как при входе в триггер менялось значение

Автор - folikmeo2001
Дата добавления - 16 Ноя 2014 в 21:21
seamanДата: Пн, 17 Ноя 2014, 12:46 | Сообщение # 10
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Цитата
если оно будет противоположное

никогда не будет противоположное. Вы же его сами задали, с чего оно вдруг изменится между двумя операторами? По волшебству что ли?
Цитата
это же уже отдельный void

Ну Вы бы хоть одну книжку по программированию прочитали! Может удивились бы узнав что такое void...
______________
Знаете что напоминают Ваши действия? Берете скальпель - режете кому-нибудь живот. Потом думаете - что же тут к чему пришить? А может просто лишние органы повыкидывать?
 
Сообщение
Цитата
если оно будет противоположное

никогда не будет противоположное. Вы же его сами задали, с чего оно вдруг изменится между двумя операторами? По волшебству что ли?
Цитата
это же уже отдельный void

Ну Вы бы хоть одну книжку по программированию прочитали! Может удивились бы узнав что такое void...
______________
Знаете что напоминают Ваши действия? Берете скальпель - режете кому-нибудь живот. Потом думаете - что же тут к чему пришить? А может просто лишние органы повыкидывать?

Автор - seaman
Дата добавления - 17 Ноя 2014 в 12:46
folikmeo2001Дата: Пн, 17 Ноя 2014, 20:14 | Сообщение # 11
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Написал вход в триггер, но не знаю как сделать чтобы конкретно объект с тегом Player видел триггер и менял значение. Лично у меня не меняется значение в моем скрипте...
Код
    void OnTriggerEnter(Collider other){

   var OnTriggerEnter = GameObject.FindWithTag ("Playanimation");

   Debug.Log ("Work");
   run_animation = true;

   
   
}
 
СообщениеНаписал вход в триггер, но не знаю как сделать чтобы конкретно объект с тегом Player видел триггер и менял значение. Лично у меня не меняется значение в моем скрипте...
Код
    void OnTriggerEnter(Collider other){

   var OnTriggerEnter = GameObject.FindWithTag ("Playanimation");

   Debug.Log ("Work");
   run_animation = true;

   
   
}

Автор - folikmeo2001
Дата добавления - 17 Ноя 2014 в 20:14
seamanДата: Пн, 17 Ноя 2014, 22:33 | Сообщение # 12
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
1. Никогда не называйте свои переменные теми же именами, которые уже используются (имена методов, переменных, классов Юнити). В данном случае OnTriggerEnter
2. На время забудьте что есть такое слово var. Пока не научитесь - применяйте вместо него нужное имя типа.
3. Зачем Вам вообще нужна переменная OnTriggerEnter? Ну установили Вы ей значение и что? Зачем?
4. Что есть Collider other? Что из него Вы можете получить? Какие свойства соответствующего объекта?
5. ГЛАВНОЕ!!! Начните учиться. Вы вот только что отрезали у человека селезенку и попытались пришить ее к заднице. Авось и так сойдет... Хирург учится своему делу больше 10 лет. Вы что считаете себя гением программирования? Могу Вас разочаровать - в программировании Вы ничерта не смыслите.
 
Сообщение1. Никогда не называйте свои переменные теми же именами, которые уже используются (имена методов, переменных, классов Юнити). В данном случае OnTriggerEnter
2. На время забудьте что есть такое слово var. Пока не научитесь - применяйте вместо него нужное имя типа.
3. Зачем Вам вообще нужна переменная OnTriggerEnter? Ну установили Вы ей значение и что? Зачем?
4. Что есть Collider other? Что из него Вы можете получить? Какие свойства соответствующего объекта?
5. ГЛАВНОЕ!!! Начните учиться. Вы вот только что отрезали у человека селезенку и попытались пришить ее к заднице. Авось и так сойдет... Хирург учится своему делу больше 10 лет. Вы что считаете себя гением программирования? Могу Вас разочаровать - в программировании Вы ничерта не смыслите.

Автор - seaman
Дата добавления - 17 Ноя 2014 в 22:33
folikmeo2001Дата: Вт, 18 Ноя 2014, 16:06 | Сообщение # 13
Нет аватара
 
Сообщений: 28
Награды: 0
Репутация: 0
Статус: Offline
Цитата seaman ()
Вы что считаете себя гением программирования? Могу Вас разочаровать - в программировании Вы ничерта не смыслите.

Да я уже сказал что я вообще новичек
 
Сообщение
Цитата seaman ()
Вы что считаете себя гением программирования? Могу Вас разочаровать - в программировании Вы ничерта не смыслите.

Да я уже сказал что я вообще новичек

Автор - folikmeo2001
Дата добавления - 18 Ноя 2014 в 16:06
seamanДата: Вт, 18 Ноя 2014, 21:01 | Сообщение # 14
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Это понятно. Вы хотите, чтобы Вам написали скрипт, или хотите сами научиться писать? Если сами - ответьте на вопросы:
Цитата
3. Зачем Вам вообще нужна переменная OnTriggerEnter? Ну установили Вы ей значение и что? Зачем?
4. Что есть Collider other? Что из него Вы можете получить? Какие свойства соответствующего объекта?

Ну и начните читать^
http://progbook.ru/c-sharp....ov.html
Какие-нибудь видеоуроки посмотрите:
http://www.youtube.com/results....8+C%23+
 
СообщениеЭто понятно. Вы хотите, чтобы Вам написали скрипт, или хотите сами научиться писать? Если сами - ответьте на вопросы:
Цитата
3. Зачем Вам вообще нужна переменная OnTriggerEnter? Ну установили Вы ей значение и что? Зачем?
4. Что есть Collider other? Что из него Вы можете получить? Какие свойства соответствующего объекта?

Ну и начните читать^
http://progbook.ru/c-sharp....ov.html
Какие-нибудь видеоуроки посмотрите:
http://www.youtube.com/results....8+C%23+

Автор - seaman
Дата добавления - 18 Ноя 2014 в 21:01
Форум Игроделов » UNITY3D » СКРИПТИНГ » Ошибка в animation.Play
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024