Воскресенье, 24 Ноября 2024, 16:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
LertmindДата: Пятница, 06 Мая 2016, 22:39 | Сообщение # 341 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Maxplant, если коротко: сделай чтобы не прыгал выше или не было двойного свайпа. На самом деле, если даже случается двойной свайп, ты должен проверять - герой в прыжке или нет, чтобы не допускать второго прыжка. Только после решения этой проблемы, уже ищи проблему в двойной свайпе.
LertmindДата: Пятница, 06 Мая 2016, 19:37 | Сообщение # 342 | Тема: Неудобные кликания по интерфейсу и глючные выделения
заслуженный участник
Сейчас нет на сайте
Ты не рассказал, как менял ПКМ на ЛКМ, потому что когда в настройках меняешь Select With на Left, всё работает нормально. Ты не сказал на какой ОС работаешь, под Windows с 3+ кнопочной мышкой проблем быть не должно.
LertmindДата: Четверг, 05 Мая 2016, 22:20 | Сообщение # 343 | Тема: Очередь отрисов в шейдерах (Unity 5)
заслуженный участник
Сейчас нет на сайте
Пересмотрел примеры в инете, должно бы работать, но почему-то не работает. Проблема не в очерёдности, а в alpha. Заметил такую штуку, когда в настройках Camera ставишь Clear Flags отличное от Skybox, то всё работает. Можно даже использовать такой костыль: первая камера рисует только Skybox (Clear Flags -> Skybox, Culling Mask -> Nothing, Depth -> -1), вторая всё остальное (Clear Flags -> Don't Clear либо Depth only, Culling Mask -> Everything, Depth -> 0).
LertmindДата: Вторник, 03 Мая 2016, 19:16 | Сообщение # 344 | Тема: Создание массива объектов по возрастанию переменной
заслуженный участник
Сейчас нет на сайте
К слову, массивы можно сортировать через Array.Sort, например вектора по x:
Код
Array.Sort<Vector3>(vecs, (v1, v2) => (v1.x.CompareTo(v2.x)));
LertmindДата: Вторник, 03 Мая 2016, 18:47 | Сообщение # 345 | Тема: Получить gameobject в котором сработало событие OnMouseDown
заслуженный участник
Сейчас нет на сайте
8Observer8, мог бы сам) Если что, вот так при клике меняется размер InputField для первого способа:
Код
using UnityEngine;
using UnityEngine.EventSystems;

public class Test1 : MonoBehaviour, IPointerClickHandler
{
    #region IPointerClickHandler implementation

    public void OnPointerClick(PointerEventData eventData)
    {
        // RectTransform наследуется от Transform, значит можем привести
        RectTransform rt = (RectTransform)transform;
        // Свойства Width и Height у RectTransform в Инспекторе
        rt.sizeDelta = new Vector2(300f, 100f);
    }

    #endregion
}

для второго способа:
Код
using UnityEngine;
using UnityEngine.EventSystems;

public class Test2 : MonoBehaviour
{
    public void PointerClick(PointerEventData eventData)
    {
        // Получаем GO на который кликнули
        GameObject go = eventData.selectedObject;
        // Делаем тоже самое, что в OnPointerClick
        RectTransform rt = (RectTransform)go.transform;
        rt.sizeDelta = new Vector2(300f, 100f);
    }
}
LertmindДата: Вторник, 03 Мая 2016, 18:14 | Сообщение # 346 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Sanprabhu, думаю, нормально. Когда делаешь Instantiate (без пула объектов), то сразу вызывается Awake у скриптов, это типа конструктора без параметров, после уже заполняешь нужные свойства или выполняешь вызовы у компонентов. Для больших проектов, возможно стоит использовать IoC/DI фреймворков, для Unity есть такие: http://strangeioc.github.io/strangeioc/, https://github.com/modesttree/Zenject, https://github.com/intentor/adic.
LertmindДата: Вторник, 03 Мая 2016, 08:31 | Сообщение # 347 | Тема: Получить gameobject в котором сработало событие OnMouseDown
заслуженный участник
Сейчас нет на сайте
timur2008, это элемент UI, ему не нужен коллайдер. Чтобы узнать, когда произошёл клик на элемент UI, реализуешь интерфейс IPointerClickHandler, и этот скрипт вешаешь на элемент, например:
Код
using UnityEngine;
using UnityEngine.EventSystems;

public class Test1 : MonoBehaviour, IPointerClickHandler
{
    #region IPointerClickHandler implementation

    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("Click");
    }

    #endregion
}


Как вариант, добавляешь на InputField компонент EventTrigger, там добавляешь событие PointerClick, потом выбираешь объект на сцене и метод у одного из его компонентов, который будет вызван при клике. На этом видео это происходит для Image https://youtu.be/3NBYqPAA5Es?t=221


Сообщение отредактировал Lertmind - Вторник, 03 Мая 2016, 08:34
LertmindДата: Понедельник, 02 Мая 2016, 00:22 | Сообщение # 348 | Тема: Вопрос - Ответ (Game Maker)
заслуженный участник
Сейчас нет на сайте
Sholar, бесплатные шейдеры https://marketplace.yoyogames.com/assets/261/free-shaders и https://marketplace.yoyogames.com/assets/2483/brightness-shader.
LertmindДата: Воскресенье, 01 Мая 2016, 21:22 | Сообщение # 349 | Тема: Помощь в создании кликер-симулятора.
заслуженный участник
Сейчас нет на сайте
Самое простое: делаешь все вкладки в одном Canvas и отключаешь все, кроме одной, когда нажимаются кнопки для перехода на другую вкладку, ты текущую отключаешь, другую включаешь через SetActive. Будет очень глупо для каждой вкладки создавать новую сцену.
LertmindДата: Воскресенье, 01 Мая 2016, 21:05 | Сообщение # 350 | Тема: Загрузка пользовательских файлов
заслуженный участник
Сейчас нет на сайте
Здесь готовый пример http://answers.unity3d.com/questio....ry.html, только для mp3 придётся проделать дополнительную работу, там написано об этом.
LertmindДата: Суббота, 30 Апреля 2016, 02:31 | Сообщение # 351 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Sanprabhu, самый простой вариант: в одном скрипте с помощью Physics.Raycast узнаешь в кого кликнули, на основе этого и делаешь взаимодействие. Остальное уже зависит от твоей логики взаимодействия между объектами.
LertmindДата: Вторник, 26 Апреля 2016, 23:47 | Сообщение # 352 | Тема: Нужно назначить родителя для группы объектов с помощью C#!
заслуженный участник
Сейчас нет на сайте
Вообще это не надо делать в Update(), он же выполняется каждый кадр. Ошибка, потому что P массив, можно так сделать:
Код
for (int i = 0; i < P.Length; i++)
{
    P[i].transform.parent = parentall.transform;
}

или
Код
foreach (GameObject go in P)
{
    go.transform.parent = parentall.transform;
}
LertmindДата: Вторник, 26 Апреля 2016, 19:07 | Сообщение # 353 | Тема: Генератор случайных целых чисел с#
заслуженный участник
Сейчас нет на сайте
ShortKedr, ты путаешь язык программирования (С#) и библиотеку/фреймворк (.NET и библиотека Unity). В Unity через Mono поддержка С# версии 3.0 (так что про прародителей это бред) + именованные и необязательные аргументы из C# 4.0. Также через Mono реализуется поддержка .NET Framework (System.Random оттуда), но конечно с урезанным лишним функционалом. Ну и конечно в Unity своя библиотека классов, где есть UnityEngine.Random.
И на счёт (int)UnityEngine.Random.Range(-10f, 10f);, это тупо, в Unity есть два перегруженных метода Random.Range для float и int (прочитай в инете про перегрузку методов):
public static float Range(float min, float max);
public static int Range(int min, int max);
LertmindДата: Вторник, 26 Апреля 2016, 18:06 | Сообщение # 354 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
SkorpyX, с другим не спорил, так и есть)
LertmindДата: Вторник, 26 Апреля 2016, 18:01 | Сообщение # 355 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
sirtoo, просто моветон. Большинство обучалок как раз на C# и есть ограничения для JS. Кроме этого, были проблемы если смешивать скрипты на разных языках - лучше начинать писать C# с самого начала.

Добавлено (26 апреля 2016, 18:01)
---------------------------------------------

Цитата SkorpyX ()
JS компилируется в C# код
Скорее компилируется в СIL-код.
LertmindДата: Вторник, 26 Апреля 2016, 17:08 | Сообщение # 356 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
sirtoo, я погуглил, в Unity 5.3 удалили поддержку автодополнения кода для JS http://answers.unity3d.com/questio....ng.html.
Мой совет - не используй JS, пиши на C#, тут так принято, а JS для отщепенцев. Но если ты не хочешь следовать разумным советам, то есть способ в установки дополнительно старой версии Unity, чтобы использовать прошлую версию MonoDevelop:
В Unity 5.3 перешли на MonoDevelop 5, так что тебе надо установить старую версию, например Unity 5.2.4, для этого выбираешь другую папку для установки, например C:\Program Files\Unity524\, потом в новой версии Unity в меню Edit > Preferences > External Tools > External Script Editor ставишь "MonoDevelop (built-in)" на "Browse...", где вручную выбираешь папку до старого MonoDevelop, т. е. C:\Program Files\Unity524\MonoDevelop\bin\MonoDevelop.exe и отмечаешь опцию "Add .unityproj's to .snl". Теперь будет открываться старый MonoDevelop 4 с автодополнением. Ещё возможно потребуется удалить сгенерированные файлы в проекте - удаляешь всё кроме Assets и ProjectSettings.


Сообщение отредактировал Lertmind - Вторник, 26 Апреля 2016, 17:17
LertmindДата: Понедельник, 25 Апреля 2016, 19:28 | Сообщение # 357 | Тема: AndroidManifest
заслуженный участник
Сейчас нет на сайте
Если я правильно понял, то AndroidManifest обновляется когда ты добавляешь плагины, тогда тебе нужно их заново добавить. Или попробуй как здесь http://answers.unity3d.com/questio....fe.html, в простом способе он скопировал AndroidManifest.xml из папки Unity, и добавил в него всё что нужно для плагинов (наверно на основе manifest.xml в плагинах).

Добавлено (25 апреля 2016, 19:22)
---------------------------------------------
Попробуй выделить папки с плагинами и нажать "Reimport" в контекстном меню.

Добавлено (25 апреля 2016, 19:28)
---------------------------------------------
И прежде чем что-то делать, не забудь сделать резервную копию проекта.

LertmindДата: Понедельник, 25 Апреля 2016, 19:26 | Сообщение # 358 | Тема: Land Keeper
заслуженный участник
Сейчас нет на сайте
Нашёл ещё две ошибки:
* Когда накопил валюты, купил самого правого персонажа. У меня 5 раз случалось, что когда отбиваешь стрелу, она отлетает, но ГГ всё равно умирает.
* Когда накопил ещё 100, купил среднего персонажа, но значение валюты не изменилось сразу, только после перехода на другую сцену и обратно.
LertmindДата: Воскресенье, 24 Апреля 2016, 23:03 | Сообщение # 359 | Тема: Land Keeper
заслуженный участник
Сейчас нет на сайте
Цитата dreenline ()
где сейчас указывать теги в плей маркете?
Если ты про теги/ключевые слова для поиска, то нигде.

Добавлено (24 апреля 2016, 22:21)
---------------------------------------------
Как оптимизировать приложение для поиска в Google Play (eng).

Добавлено (24 апреля 2016, 23:03)
---------------------------------------------
Замечания:
* После смерти главного героя лучше отображать две кнопки - "Повторить" и "Выбрать персонажа" - это ускорит следующую попытку.
* Кнопка "Back to Menu" и "music by" маленькие по сравнению с другими кнопками и текстами.
Ошибки:
* Один раз у меня не сработала анимация смерти ГГ, он просто стоял. Вроде бы я не делал ничего необычного.
* После смерти ГГ есть возможность послать стрелы во врага. Такого не должно быть, как мне кажется.
* Когда жёлтый тролль проходит возле черепа, слои неправильно сортируются и череп накладывается поверх тролля.

LertmindДата: Воскресенье, 24 Апреля 2016, 18:38 | Сообщение # 360 | Тема: Надо уничтожить родительский объект!
заслуженный участник
Сейчас нет на сайте
Код
using UnityEngine;

public class DestroyParent : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (transform.parent)
            {
                Destroy(transform.parent.gameObject);
            }
        }
    }
}
Поиск:

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