3. Когда под windows проект собираю их там нет. Но если ручками вставить в собранный проект в папку ресурсов, то всё работает. С windows-сборкой все и так просто, с Андройд все гораздо сложнее, в apk файл так просто не запихнёшь ресурсы.
Ресурсы грузяца через Resource.Load, напрямую читать их файлы нельзя, потому что оригинальных файлов в билде нет, они хранятся упакованными. Попробуй Streaming Assets вместо ресурсов https://docs.unity3d.com/Manual/StreamingAssets.html
Сообщение отредактировал drcrack - Среда, 14 Марта 2018, 16:09
Добавлено (29 Марта 2018, 11:10) --------------------------------------------- Есть проблема с доступом к объекту. В одном скрипте и одном классе используется объект в функции Start() и в OnGUI(). Но в OnGUI() не работает. Пишет лог: NullReferenceException: Object reference not set to an instance of an object. Почему он в старте может получить ссылку а в апдейте нет? P/S
Код
using System.Collections; using UnityEngine;
public class InstantiateDialog : MonoBehaviour {
public TextAsset ta; public Dialog dialog; public int _currentnode;
void Start () { Dialog dialog = Dialog.Load (ta); foreach (Node nd in dialog.nodes) { Debug.Log (nd.NpcText); } Debug.Log (dialog.nodes [_currentnode].NpcText); // Это пытаюсь вызвать тут норм. }
void Update () {
}
void OnGUI() { GUI.Box (new Rect (Screen.width / 2 - 300, Screen.height - 300, 600, 250), ""); Debug.Log (dialog.nodes [_currentnode].NpcText); //// Это пытаюсь вызвать. Тут не работает. } }
Сообщение отредактировал Garry599 - Четверг, 29 Марта 2018, 11:59
Глупый вопрос, но подскажите, пожалуйста. Могу ли я внутри функции OnMouseOver() вызывать свои функции? И, если да, как это сделать правильно? Я пишу как в коде под спойлером, но это не работает.
Проблему решил. Случайно вписал лишнее ключевое слово Dialog перед названием переменной в функции Start, тем самым создав новую локальную переменную для функции старт а не назначил значение глобальной для класса.
Здравствуйте! В общем, снова проблема Как накнопку ESC добавлять несколько действий? Например в скрипте Pause я ставлю паузу на кнопку ESC , а в скрипте чтения записок я на кнопку ESC "выключаю" записку. Но на деле не работало.
Подскажите как надо делать, пожалуйста.
Пробовал через логические переменные, но не работало. Одновременно выключал док и ставил паузу. А надо, чтобы по первому нажатию закрывал док, а по второму - паузу
Заранее спасибо. Извините за глупые вопросы , только учусь никакой инфы в документации и инете не нашел, но, возможно, плохо искал
Сообщение отредактировал masyaa - Суббота, 31 Марта 2018, 00:08
masyaa, надо делать проверку в скрипте паузы открыт ли документ, если открыт выполняй метод закрытия документа "в скрипте чтения записок", если не открыт - ставь паузу.
У меня ошибка при компиляции игры на платформу андроид. Вначале пишет: CommandInvokationFailure: Gradle build failed. C:/Program Files/Java/jdk-10\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"
stderr[
FAILURE: Build failed with an exception.
* What went wrong: Could not determine java version from '10'.
* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. ] stdout[
и две ошибки: Build completed with a result of 'Failed' UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
и эта UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181 at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88 UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
итого: 4 ошибки
В игровой индустрии ещё тот новичок( с программированием всё ещё туго, как и с юнити в общем). Помогите, если не сложно)
Можно ли как то делать проверки вне функций. Например:
Код
public class NewScript : MonoBehaviour {
public bool isStart = false;
if (isStart) { public GameObject obj; }
}
В общем надо как-то проверить, если в редакторе на объекте на котором висит скрипт допустим стоит галочка, то получается что isStart = true и тогда public GameObject obj; активен и можно перетаскивать объект. А если в редакторе галочка не стоит, значит public GameObject obj; неактивен и перетаскивать объект нельзя. Красочная сюжетно-ориентированная игра-головоломка
Сообщение отредактировал vampir0305 - Суббота, 07 Апреля 2018, 20:17
Tank2DShell shell = Instantiate(tankShell, tankShellPoint.position, Quaternion.AngleAxis(angle, Vector3.right)) as Tank2DShell; shell.SetDirection(tankShellPoint.up);
Из-за того что использовал "up" пули летят не в том направлении, то есть обратно. Использовал forward вместо up , но пули летят ооччень медленно. Есть ли чтонить аналогично up кроме forwarda? Или как правильно использовать forward?
Подскажите знающие. Как организовать отсчет времени посекундно? Например есть здание, нажимаю на него и пошел отчет времени после которого здание исчезает. Предположим 10 сек интервал.