Воскресенье, 17 Ноября 2024, 13:43

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • RipDevДата: Среда, 14 Декабря 2011, 20:52 | Сообщение # 1261
    гейм-дизайнер
    Сейчас нет на сайте
    Quote (lokinam)
    Мне надо.

    тогда бери исходники unity3d, и прикручивай wink

    Добавлено (14.12.2011, 20:52)
    ---------------------------------------------
    lokinam Есть Антарес визио , визуальная логика.


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    lokinamДата: Пятница, 16 Декабря 2011, 12:26 | Сообщение # 1262
    постоянный участник
    Сейчас нет на сайте
    а по понятние
    iMoonlightAndreДата: Пятница, 16 Декабря 2011, 20:06 | Сообщение # 1263
    частый гость
    Сейчас нет на сайте
    iXerox, а почему не использовать:
    Code

    var ScoreGUI : GUIText;    
    var score = 0;    
    var x = 0; // вводим переменную, которая разрешает увеличивать счет
    function OnMouseUp ()    
    {    
    if(2+2==4 & x == 0)    
    {    
    score+=1;    
    ScoreGUI.text = "" + score;    
    x = 1; //Переменная меняется на 1, => счет больше не увеличивается.
    }    

    Возможно допустил ошибку, но в целом должно быть так. Сам недавно решал данный вопрос, но друг помог)


    Мои проекты для iOS:


    Сообщение отредактировал iMoonlightAndre - Пятница, 16 Декабря 2011, 20:43
    RipDevДата: Пятница, 16 Декабря 2011, 21:18 | Сообщение # 1264
    гейм-дизайнер
    Сейчас нет на сайте
    Quote (lokinam)
    а по понятние

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


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    iXeroxДата: Пятница, 16 Декабря 2011, 21:57 | Сообщение # 1265
    частый гость
    Сейчас нет на сайте
    iMoonlightAndre, а если я так, то а потом... короче говоря вот код:
    Code

    var ScoreGUI : GUIText;     
    var score = 0;     
    var x = 0; // вводим переменную, которая разрешает увеличивать счет  

    function OnMouseUp ()  
    {
      if(2+2==4 & dtw == 0)
      {
      score1+=1;
      ScoreGUI1.text = "Score: " + score1;
      dtw = 1;
      }
      if(4+4==8 & dtw == 0)
      {
      score2+=1;
      ScoreGUI2.text = "Score: " + score2;
      dtw = 1;
      }
    }


    Во втором при нажатии оба раза работают(я сейчас для примера использую старый скрипт, где у меня варианты менялись каждые три секунды(2+2=4, 4+4=8) менялись и хочу, что бы если я нажал на куб при первом варианте, то происходило
    dtw = 1 и второй уже не работал, ведь там же dtw ==0, но он почему-то работает. Подскажите почему? И как сделать так, чтобы он работал. Заранее спасибо.
    seamanДата: Пятница, 16 Декабря 2011, 22:14 | Сообщение # 1266
    старожил
    Сейчас нет на сайте
    1. dtw существует только внутри метода OnMouseUp при повторном входе старого значения нет. Сохраняйте его при выходе из функции.
    2. 2+2==4 и 4+4==8 верны всегда. Зачем они вообще тут нужны?
    3. score1 - тоже есть только внутри функции. Если Вы считаете, что это та же переменная, что и score - Вам нужно начинать с дошкольного уровня программирования.
    iXeroxДата: Пятница, 16 Декабря 2011, 22:27 | Сообщение # 1267
    частый гость
    Сейчас нет на сайте
    seaman, суть не меняет, если к примеру у меня было не "2+2==4", а "Button", то есть я ввожу переменную:
    var Button = false;
    var Button1 = false;
    А потом пишу
    if(Button & dtw == 0)
    ....
    и
    if(Button1 & dtw ==0)
    и так далее. А как можно сохранить при выходе из функции так, чтобы он срабатывал после первого варианта. То у меня есть кнопка, меняется значение на экране, то при первом значении я нажал на кнопку и она заблокировалась и на второй вариант.


    Сообщение отредактировал iXerox - Пятница, 16 Декабря 2011, 22:30
    seamanДата: Пятница, 16 Декабря 2011, 22:38 | Сообщение # 1268
    старожил
    Сейчас нет на сайте
    Quote
    суть не меняет

    Если для Вас это не меняет суть, тогда почему Вы сами не разбираетесь, а нам пудрите мозги?
    Quote
    А как можно сохранить при выходе из функции

    Определять ее не внутри функции, а вне ее.
    iMoonlightAndreДата: Пятница, 16 Декабря 2011, 22:41 | Сообщение # 1269
    частый гость
    Сейчас нет на сайте
    iXerox, Мне кажется? что должны быть, что-то такое:
    Code

    Тут вводишь соответственные переменные

    function OnMouseUp ()  
    {
      if(isButton1 & dtw == 0)
      {
      score+=1;
      ScoreGUI.text = "Score: " + score;
      }
      dtw = 1;
       
      if(isButton2 & dtw == 0)
      {
       
      score+=1;
      ScoreGUI.text = "Score: " + score;

      }
    }


    Мои проекты для iOS:
    iXeroxДата: Пятница, 16 Декабря 2011, 22:44 | Сообщение # 1270
    частый гость
    Сейчас нет на сайте
    seaman, просто мне ответили по моему варианту и я по нему и зала еще вопрос. спасибо.
    iMoonlightAndre, спасибо.
    RipDevДата: Пятница, 16 Декабря 2011, 22:52 | Сообщение # 1271
    гейм-дизайнер
    Сейчас нет на сайте
    Хм, а что в яве можно не объявлять переменную?

    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    iMoonlightAndreДата: Пятница, 16 Декабря 2011, 22:57 | Сообщение # 1272
    частый гость
    Сейчас нет на сайте
    RipDev, нельзя конечно... вы насчет моего "Тут вводишь соответственные переменные"?
    Просто, чтобы человек подумал и сам прописал...


    Мои проекты для iOS:
    iXeroxДата: Пятница, 16 Декабря 2011, 23:14 | Сообщение # 1273
    частый гость
    Сейчас нет на сайте
    iMoonlightAndre, а если я, к примеру, сделал по шагам:
    Code

       function Start ()
    {   
       step = 0;
         yield new WaitForSeconds (3);
       step = 1;
         yield new WaitForSeconds (3);
       step = 2;
         yield new WaitForSeconds (3);
        step = 3;

         Application.LoadLevel(1);
           
    }
    function OnMouseUp ()   
    {
       if(isButton)
       {
       if(step == 0 & dtw == 0)
       {
       score1+=1;
       ScoreGUI1.text = "Score: " + score1;
       }
       if(step == 1 & dtw == 0)
       {
       score1+=2;
       ScoreGUI1.text = "Score: " + score1;
       }

       if(step == 2 & dtw == 0)
       {
       score1+=3;
       ScoreGUI1.text = "Score: " + score1;
       }

       }
       if(isButton1)
       {
       if(step == 0 & dtw == 0)
       {
       score1+=1;
       ScoreGUI2.text = "Score: " + score1;
       }

       if(step == 1 & dtw == 0)
       {
       score1+=2;
       ScoreGUI2.text = "Score: " + score1;
       }

       if(step == 2 & dtw == 0)
       {
       score1+=3;
       ScoreGUI2.text = "Score: " + score1;
       }

       }
    }

    То есть две кнопки, проходят шаги, шаг меняется раз в 3 секунды. Как мне запретить работать кнопке Button1. То есть объясняю:

    Нажал на кнопку(isButton)->Блокируется работа isButton1 на три секунды. Жду 3 секунды и т.к. Куда прописывать изменение dtw(dtw = 1).

    Добавлено (16.12.2011, 23:14)
    ---------------------------------------------
    Как это можно реализовать?

    Сообщение отредактировал iXerox - Пятница, 16 Декабря 2011, 23:13
    RipDevДата: Пятница, 16 Декабря 2011, 23:27 | Сообщение # 1274
    гейм-дизайнер
    Сейчас нет на сайте
    iXerox, Детский сад dry
    скоре1 батон1 скоре2 батон2. Да еще и простую логику не можешь решить.
    Зачем тебе разные кнопки и тексты???

    Добавлено (16.12.2011, 23:25)
    ---------------------------------------------

    Quote (iXerox)
    Нажал на кнопку(isButton)->Блокируется работа isButton1 на три секунды. Жду 3 секунды и т.к. Куда прописывать изменение dtw(dtw = 1).

    Сам то хоть читал?
    Quote (iXerox)
    Как это можно реализовать?

    сначала понять что ты делаешь, а уже потом делать.
    Вот вначале было понятно, что ты хочешь и делаешь. Программка которая предлагает 2 варианта верное/неверное + на время.
    Но то что ты делаешь, ...

    Добавлено (16.12.2011, 23:27)
    ---------------------------------------------

    Quote (iMoonlightAndre)
    RipDev, нельзя конечно... вы насчет моего "Тут вводишь соответственные переменные"?

    нет просто не увидел чтоб он объявлял dtw;


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    iXeroxДата: Пятница, 16 Декабря 2011, 23:27 | Сообщение # 1275
    частый гость
    Сейчас нет на сайте
    RipDev, идея игры есть просто. И мне надо, чтобы после нажатия первой кнопки отключалась второй. Можешь подсказать?

    P.S.: Суть, я думаю, не в том, что написано, а в том КАК это написать. Вот в этом и проблема. Я разумеется могу последовать совету pixeye и разобраться с массивами, что, честно говоря, собирался сейчас сделать, но товарищ iMoonlightAndre, дал относительно несложное решение проблемы и я задаю вопросы, т.к. не очень понятно, хотя.
    RipDevДата: Пятница, 16 Декабря 2011, 23:50 | Сообщение # 1276
    гейм-дизайнер
    Сейчас нет на сайте
    iXerox, поставь в OnGUI()
    Quote
    GUI.enabled=false;
    GUI.Button(new Rect(10,10,100,40),"dfsdf");
    GUI.enabled=true;
    GUI.Button(new Rect(10,100,100,40),"dfsddddddf");


    Но я бы сделал по другому.
    Тебе нужно всего 2 кнопки. Первая правильный ответ, 2 не правильный. И потом подставлять код к каждой кнопке.
    По мимо массивов, надо добавить еще функции.

    Добавлено (16.12.2011, 23:50)
    ---------------------------------------------
    static function Button (position : Rect, text : String) : boolean
    то есть при нажатии вернет true.
    Пример:

    Quote

    ...
    dtw=GUI.Button(new Rect(10,100,100,40),"dfsddddddf");
    ...

    ...
    if(step == 1 & dtw == true)
    {
    score1+=2;
    ScoreGUI1.text = "Score: " + score1;
    }
    ...


    happy ?


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    seamanДата: Пятница, 16 Декабря 2011, 23:50 | Сообщение # 1277
    старожил
    Сейчас нет на сайте
    Нужно четкое описание задачи - ТЗ. Вот я, например, так и не понял что надо, сколько кнопок, какая отключает какую...
    iMoonlightAndreДата: Пятница, 16 Декабря 2011, 23:54 | Сообщение # 1278
    частый гость
    Сейчас нет на сайте
    Кто-то(кэп?) шепчет мне на ухо, что он делает. что-то типа 2 Player Reactor... Очень похоже. Сам начал недавно писать у меня что-то похожее выходит.
    Два объекта - игроки( iXerox, я правильно понял?). Им задаются вопросы кто первый ответит тому бал, а блокировка, чтобы оба игрока не нажали.... iXerox, я прав?


    Мои проекты для iOS:
    iXeroxДата: Суббота, 17 Декабря 2011, 12:15 | Сообщение # 1279
    частый гость
    Сейчас нет на сайте
    iMoonlightAndre, да, ты прав.
    RipDev, seaman, есть игра 2 Player Reactor. Играют два игрока. Есть две кнопки(по кнопке на человека). Я ввел переменную для каждого

    var Button1 = false;
    var Button2 = false;

    Дальше я прописываю, что каждые 10 секунд у меня меняется вопрос(вопрос отображается на текстуре). И если один игрок уже выбрал ответ, то кнопка второго должна блокироваться до второго вопроса. После того, как текстура сменилась нужно разблокировать игрока, который при первом вопросе не ответил. Так понятен смысл.
    ---------------------------------------------
    iMoonlightAndre, я использую ваш скрипт:
    Code

    var isButton1 = false;
    var isButton2 = false;
    var score1 = 1;
    var score2 = 1;
    var ScoreGUI1 : GUIText;
    var ScoreGUI2 : GUIText;
    var dtw = 0;

    function OnMouseUp ()    
    {   
        if(isButton1 & dtw == 0)   
        {   
        score1+=1;   
        ScoreGUI1.text = "Score: " + score1;   
        }   
        dtw = 1;   
           
        if(isButton2 & dtw == 0)   
        {   
           
        score2+=1;   
        ScoreGUI2.text = "Score: " + score2;   

        }   
    }

    Ввел переменные, только почему-то вторая кнопка блокируется с самого начала. Как я понял потому что dtw = 1; стоит перед ней. Куда его надо прописать, чтобы все нормально работало?


    Сообщение отредактировал iXerox - Суббота, 17 Декабря 2011, 12:16
    RipDevДата: Суббота, 17 Декабря 2011, 12:42 | Сообщение # 1280
    гейм-дизайнер
    Сейчас нет на сайте
    iXerox, учи основы программирования, с этим справятся даже дети, чего уж вам то стоит их изучить?
    Quote (iXerox)
    Ввел переменные, только почему-то вторая кнопка блокируется с самого начала. Как я понял потому что dtw = 1; стоит перед ней. Куда его надо прописать, чтобы все нормально работало?

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


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    Поиск:

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