Страница 1 из 1

Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 20 янв 2018, 15:04
guno7
Добрый день, уважаемые форумчане. Я создаю одну 2D игрушку, типа рыбалки. Опишу картину игры. Нижний центр занимает вода, в котором плывут рыбы. В верхнем центре плывет маленькая лодка с рыбаком. Я вроде бы все правильно сделал, но у меня это криво работает. При нажатии на кнопку опускается крючок, и если сталкивается с колайдером рыбы, то крючок становится родителем рыбы, пока крючок не поднимется. А когда он поднимется и столкнется колайдером start, то объект рыбы удаляется и начисляются очки. При удалении я создаю еще 2 таких рыб в разных позициях. Позиция берется рандомно из массива. В массиве их 4. Мне нужен знаток юнити, который сможеть исправить мои ошибки. Синтаксических ошибок нет, но с логикой что-то не то. Если есть время, уделите мне. Телешка @loozsec7
Или дайте свой телеграм.
Заранее спасибо!

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 21 янв 2018, 01:07
Xtir
А в чём собственно проблема?

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 22 янв 2018, 00:04
samana
Xtir писал(а):А в чём собственно проблема?

guno7 писал(а):Синтаксических ошибок нет, но с логикой что-то не то.


Автор поступил так же, как в своей игре: закинул удочку на форуме и ждёт, ждёт, ждёт, пока клюнет что-то серьёзное, что-бы не мелкая сошка какая нибудь, а настоящий знаток попался!!! Но даже если он попадётся, то вытаскивать его на крючке никто не будет, а этот знаток должен ещё и сам приплыть в руки, лично связавшись с автором. Вот и здесь получается так же, ошибок вроде нет, а с логикой что-то не то :D

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 22 янв 2018, 13:44
snezhok_13
samana писал(а):
Xtir писал(а):А в чём собственно проблема?

guno7 писал(а):Синтаксических ошибок нет, но с логикой что-то не то.

и ждёт, ждёт, ждёт, пока клюнет что-то серьёзное

Надо прикормить. Пообещать заплатить, например :) Знатоки они такие, без прикорма не клюют

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 22 янв 2018, 17:50
guno7
Извиняюсь за то что не отвечал. Проблема в следующем: в своей игрушке, у меня есть функция update. В update проверяется, не вышел ли объект за предел какого-то объекта, если вышел, то обращается к функции другого скрипта, а та функция инициализирует новый объект. Трансформ объекта выбирается рандомно из 4. Но иногда в одном месте создается сразу два объекта, что очень не красиво. Как решить эту проблему? Заранее спасибо!

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 22 янв 2018, 17:55
guno7
Xtir писал(а):А в чём собственно проблема?

Синтаксис:
Используется csharp
GameObject[] fishs = GameObject.FindGameObjectsWithTag("fish");          
            GameObject[] nofishs = GameObject.FindGameObjectsWithTag("nofish");
            foreach (GameObject fishN in fishs) if (fish != null) Destroy(fishN); //Перебираем все рыбы. Если число рыб меньше 5, то начинаем функцию создания новых рыб
            float fishslenght = fishs.Length + nofishs.Length;
            if (fishslenght < 5f)
{
randomTrans = Random.Range(0, 3);
            fish = Instantiate(fishPrefab, FishTransforms[randomTrans].transform.position, Quaternion.identity) as GameObject;
}
                score += 70 * fishs.Length;                  // Получаем очки, приумножая уловленные рыбы
            scoreText.text = score.ToString();
            canfish = 0;    //нельзя рыбачить

Re: Очень нужна помощь знатоков Unity3D

СообщениеДобавлено: 22 янв 2018, 21:31
Paul Siberdt
[quote="guno7"]
Синтаксис:
Используется csharp
foreach (GameObject fishN in fishs) if (fish != null) Destroy(fishN); //Перебираем все рыбы. Если число рыб меньше 5, то начинаем функцию создания новых рыб
 


Не вижу цифры 5 в вашем переборе, а, вот, что вижу - так это то, что вы рушите цикл удалением элемента массива. (popcorn)