Суббота, 05 Октября 2024, 19:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • seamanДата: Четверг, 10 Января 2013, 22:59 | Сообщение # 3341
    старожил
    Сейчас нет на сайте
    Я вижу два скрипта. Зачем она нужна "общая ячейка"?
    Но в-общем это все лирика. Правда в том, что второй скрипт странный. Любое действие должно быть в функции. У Вас же
    if (Input.GetButton("Fire1"))
    и далее вне функции. C# сразу бы выдал ошибку. Да еще возможно не дал бы накинуть скрипт на объект. Как поведет себя JS не знаю, но что-то сомневаюсь, что никаких ошибок не выдает. Не может такого быть.
    gggaptypgggДата: Пятница, 11 Января 2013, 11:01 | Сообщение # 3342
    почетный гость
    Сейчас нет на сайте
    seaman, Cпасибо тебе большое. Я переделал функции так:



    Но появилась следующая проблема, когда я стреляю одиночными, то звук и вспышка не появляется.




    Сообщение отредактировал gggaptypggg - Пятница, 11 Января 2013, 11:03
    seamanДата: Пятница, 11 Января 2013, 12:46 | Сообщение # 3343
    старожил
    Сейчас нет на сайте
    Разберитесь с waitTilNextFire. Почему изначально = 0?
    ЗЫ: извини, но пока не объяснишь вменяемо - зачем два скрипта?- разбираться в ошибках придется самому.
    gggaptypgggДата: Пятница, 11 Января 2013, 13:16 | Сообщение # 3344
    почетный гость
    Сейчас нет на сайте
    Цитата (seaman)
    waitTilNextFire. Почему изначально = 0

    Для того, чтобы патроны были немного медленнее.
    Один скрипт накладывается на нулевой объект со всеми оружиями, который отвечает за спавн пули, скорость и т.д.
    Второй за персональный огонь и вспышку.


    seamanДата: Пятница, 11 Января 2013, 15:09 | Сообщение # 3345
    старожил
    Сейчас нет на сайте
    Цитата
    Для того, чтобы патроны были немного медленнее.

    Вы совсем не понимаете что Ваш скрипт делает? Или троллите? Хотя бы переведите имя переменной.
    ЗЫ: Можно не менять = 0, чтобы первую пулю можно было выпульнуть мгновенно. Но тогда нужно изменить условие:
    Код
       if (Input.GetButton("Fire1"))
         {
          if (waitTilNextFire < 0)

    Цитата
    на нулевой объект со всеми оружиями

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


    Сообщение отредактировал seaman - Пятница, 11 Января 2013, 15:11
    gggaptypgggДата: Пятница, 11 Января 2013, 15:49 | Сообщение # 3346
    почетный гость
    Сейчас нет на сайте
    seaman, Cпасибо, так и сделаю.

    LimonchikДата: Пятница, 11 Января 2013, 22:22 | Сообщение # 3347
    частый гость
    Сейчас нет на сайте
    SnakeR, Спасибо большое через функцию if (other.gameObject.CompareTag("Player")) получилось.
    (Извиняюсь что не написал раньше)
    Knight1032Дата: Суббота, 12 Января 2013, 00:02 | Сообщение # 3348
    заслуженный участник
    Сейчас нет на сайте
    Как-то без участия аниматора в новой юньке можно воспроизвести анимацию?

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    seamanДата: Суббота, 12 Января 2013, 00:45 | Сообщение # 3349
    старожил
    Сейчас нет на сайте
    В настройках импорта модели, вкладка Rig, выставьте Legacy.
    Knight1032Дата: Суббота, 12 Января 2013, 00:47 | Сообщение # 3350
    заслуженный участник
    Сейчас нет на сайте
    seaman, О Спасибо, СПАСИБО!!!

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    rottweilerДата: Суббота, 12 Января 2013, 16:24 | Сообщение # 3351
    почетный гость
    Сейчас нет на сайте
    Подскажите как сделать чтение из файла.
    У меня есть текстовый файл, в котором допустим есть цифры (или что-то вроде такого: время= 60). И надо, чтобы скрипт использовал эти цифры как переменную. Как это сделать?


    seamanДата: Суббота, 12 Января 2013, 17:12 | Сообщение # 3352
    старожил
    Сейчас нет на сайте
    System.IO
    rottweilerДата: Суббота, 12 Января 2013, 17:36 | Сообщение # 3353
    почетный гость
    Сейчас нет на сайте
    Спасибо за ответ. Я так понимаю мне нужен примерно такой скрипт, для чтения файла:
    Код
    import System;
         import System.IO;
         if(File.Exists(file))
         {   
            var sr = File.OpenText(file);   
            var line = sr.ReadLine();   
            while(line != null)
            {   
               Debug.Log(line); // prints each line of the file   
               line = sr.ReadLine();   
            }      
         }

    но как использовать цифры в текстовом файле в роле переменной?




    Сообщение отредактировал rottweiler - Суббота, 12 Января 2013, 17:37
    Knight1032Дата: Суббота, 12 Января 2013, 21:22 | Сообщение # 3354
    заслуженный участник
    Сейчас нет на сайте
    Три криейтор работает оооочень медленно. Причём задержка иногда бывает до 1 минуты, но ни процессор, ни видеокарта, ни оперативная память по показаниям в этот момент не перегружёны. Даже при 10000 вертсах и треугольниках жутко всё проседает, в чём может быть проблема?

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    Fr0sTДата: Суббота, 12 Января 2013, 21:27 | Сообщение # 3355
    постоянный участник
    Сейчас нет на сайте
    Ребят,помогите,ошибка Object reference not set to an instance of an object,
    Код
    if(Physics.Raycast(transform.position,direction,out hit,range))
       {
         enemyHealth Health = hit.collider.GetComponent<enemyHealth>();
         Health.health -= damageRifle;
       }

    эта вещч у меня вынесена в отдельный метод как стрельба и вызывается по нажатию кнопки,но ошибка указывает на Health.health -= damageRifle;




    gggaptypgggДата: Суббота, 12 Января 2013, 21:37 | Сообщение # 3356
    почетный гость
    Сейчас нет на сайте
    Fr0sT, Не уверен, но попробуй так
    Health.health = Health.health-damageRifle;


    Fr0sTДата: Суббота, 12 Января 2013, 21:45 | Сообщение # 3357
    постоянный участник
    Сейчас нет на сайте
    gggaptypggg, неет точно не так))



    pixeyeДата: Суббота, 12 Января 2013, 22:09 | Сообщение # 3358
    Red Winter Software
    Сейчас нет на сайте
    Цитата (Fr0sT)
    if(Physics.Raycast(transform.position,direction,out hit,range))
       {
         enemyHealth Health = hit.collider.GetComponent();
         Health.health -= damageRifle;
       }


    В твоем случае рейкаст может столкнуться с любым объектом на пути, например у которого нет компонента enemyHealth.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    Fr0sTДата: Суббота, 12 Января 2013, 22:20 | Сообщение # 3359
    постоянный участник
    Сейчас нет на сайте
    pixeye, спасибо исправил smile



    seamanДата: Суббота, 12 Января 2013, 22:21 | Сообщение # 3360
    старожил
    Сейчас нет на сайте
    Цитата
    но как использовать цифры в текстовом файле в роле переменной?

    Нечто типа.
    предположим строка - это одно число
    Код
    int digit;
    while(line = sr.ReadLine() != null)
    {    
         digit = Int32.Parse(line);
    }

    Цитата
    помогите,ошибка Object reference not set

    Одно из двух - либо нет такого скрипта на объекте. Либо, что скорее всего,- не попадаете в нужный объект. Нужно проверять туда ли Вы попали по тегу, или названию:
    if(hit.collider.tag == "good!") ....
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг