Извиняюсь если говорил как-то быстро либо ещё что-то. В группе попросили сделать урок на эту тему, и я сразу же без подготовки решил заснять. И как обычно, тайм коды в описании. Мало ли хотите для начала посмотреть финальный результат :D.
@konstantin59717 жыл бұрын
19:20 - можно было дестроить не каждый объект, а в самом начале все под панель отдельную и уничтожать ее.
@konstantin59717 жыл бұрын
"я сразу же без подготовки решил заснять" - прощается!)))
@konstantin59717 жыл бұрын
Кстати, а что на счет выбора файла через проводники которые установлены на устройстве? На пример ES проводник, Total Commander и т.п.?
@ПавелСорокин-ц8я7 жыл бұрын
Вот мне это тоже бы пригодилось
@aleksandrgaziev44704 жыл бұрын
Отлично, а как на счет загрузки привью? Что б сразу было видно фото? Не хватает этого(((
@Lesh503 жыл бұрын
А можно к примеру вызвать сам проводник (как это делают многие приложения) и выбрать в нём нужный файл?
@SERG__ZV5 жыл бұрын
Слава тебе добрый человек наконецто у меня скриншоты загружаються которые я сделал в игре уже не один день мучаюсь сколько всяких советов и на англ форумах перерыл.. По очереди всё пробовал но вот тот вариант в котором ты всё вместе собрал как раз работает.. Однозначно лайк. И ещё не большая поправка правильно делаеться ударение на обЯвим а не обявИм... (переменную) слух режет..
@ANDROIDHELPERRU5 жыл бұрын
Когда уже такие учителя английского и русского языка поймут, что смотрят УРОК, который снимается ИМПРОВИЗАЦИЕЙ. Конечно в нём будут присутствовать оговорки, и на них каждый раз не обязательно указывать, т.к я и сам о них знаю.
@pomidor20135 жыл бұрын
наконец-то; загружаются; объявим; делается... запятые... глаза режет)
@konstantin59717 жыл бұрын
Спасибо! То что нужно!
@КоляКолючий-д1ж7 жыл бұрын
Очень годный материал
@DirtyBasta5 жыл бұрын
Спасибо за урок!!!
@МихаилСадыков-щ5л5 жыл бұрын
Спасибо за урок
@progneo7 жыл бұрын
Можно видео снимать почаще? Очень полезные видео)
@РусланАсташенко5 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class FileScript : MonoBehaviour { public Text fileNameText; //[HadeInInspector] public int index; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void OnClick(){ FileManager.instance.SelectAvatar(index); } }
@KtoTytKrichal5 жыл бұрын
🤗🤗🤗, спасибо
@ZingerFM7 жыл бұрын
Привет, отличные уроки, но было бы совсем круто, если бы в начале видео вы показывали результат, то есть то, что вы собираетесь сделать на этом уроке, как это будет выглядеть и как работает.
@ANDROIDHELPERRU7 жыл бұрын
Я это и делаю, если у меня урок заготовлен. Вот и заранее написал комментарий о том, что как я снимал этот урок и что можно воспользоваться таймкодами в описании, чтобы посмотреть финальный результат.
@ZingerFM7 жыл бұрын
оооу, да, не заметил сразу, так даже намного удобней, круто, спасибо)
@МихаилСадыков-щ5л5 жыл бұрын
----------------------------------------------------------------------------- [Scripts из этого видео:] ----------------------------------------------------------------------------- --------------------------------------------------------------------------- [FileScript:] --------------------------------------------------------------------------- --------------------------------------------------------------------------- using UnityEngine; using UnityEngine.UI; public class FileScript: MonoBehaviour { public Text fileNameText; [HideInInspector] public int index; public void OnClick() { AvatarManager.instance.SelectAvatar(index); } } --------------------------------------------------------------------------- --------------------------------------------------------------------------- [AvatarManager:] --------------------------------------------------------------------------- --------------------------------------------------------------------------- using UnityEngine; using UnityEngine.UI; using System.IO; using System.Linq; public class AvatarManager: MonoBehaviour { public GameObject fileListPan, fileContent, filePrefab; public RawImage avatarImg; private DirectoryInfo dirInfo = new DirectoryInfo("/mnt/sdcard"); private FileInfo[] files; private GameObject[] instanceObjs; public static AvatarManager instance; private void Awake() { instance = this; } public void LoadAvatarsList() { fileListPan.SetActive(true); avatarImg.gameObject.SetActive(false); files = new string[] { "*.jpeg", "*.jpg", "*.png" }.SelectMany(ext => dirInfo.GetFiles(ext, SearchOption.AllDirectories)).ToArray(); instanceObjs = new GameObject[files.Length]; for (int i = 0; i < files.Length; i++) { FileScript file = Instantiate(filePrefab, fileContent.transform).GetComponent(); file.fileNameText.text = files[i].Name; file.index = 1; instanceObjs[i] = file.gameObject; } } public void SelectAvatar(int index) { WWW www = new WWW("file://" + files[index].FullName); avatarImg.texture = www.texture; fileListPan.SetActive(false); avatarImg.gameObject.SetActive(true); foreach(GameObject obj in instanceObjs) Destroy(obj); } } --------------------------------------------------------------------------- --------------------------------------------------------------------------- [Поставь Lke] ---------------------------------------------------------------------------
@AntonHlebov3 жыл бұрын
file.index = i, а не 1
@MelloMix2 жыл бұрын
А че делать если путь андроида не работает?
@MelloMix2 жыл бұрын
У меня ничего не ищет на андроиде, скрипт правильные и ошибок юнити не дает, в инспекторе тоже всё повесил. А вот если я впишу путь какой нибудь папки в пк, он находит. Без понятия что может быть не так...
@zmuser14627 жыл бұрын
Кстати, где реклама?? Почему на этом канале ее нет?
@ai-arts-manet6 жыл бұрын
Привет! Спасибо за видео, очень полезно! Подскажи пожалуйста как лучше сделать размещение аватарок на хостинге? Есть ли какой-то способ автоматически обрезать картинку под нужный формат - например, пользователь загружает картинку в 50 мегабайт с разрешением 3200*3200. Нужно сконвертить её в маленькую иконку 32*32 и загрузить на хост. Подскажи пожалуйста куда копать?
@CrafterMinecrafter5 жыл бұрын
Пусть пользователь конвертирует её сам в плей маркете куча приложений.
@zerobox63222 жыл бұрын
@@CrafterMinecrafter согласен
@krieefeth2258 Жыл бұрын
Не могу найти как поставить Write Permission для Windows проекта ( аесли это вообще возможно), очень надо чтобы у проэкта был доступ к файлам, как это сделать?
@Kroaton777 жыл бұрын
Добрый день! Очень полезное видео, спасибо. Но нужна помощь вот на какую тему... Проект под андроид. Есть файл с данными уровней игры(трехмерный массив). К примеру level.sg. В него уже внесены данные при разработке. Теперь необходимо разместить этот файл в проект и собрать игру. Далее после запуска игры, файл должен быть прочитан в массив и дальше понятно. Под ПК без проблем, все работает. А вот под Андроид - это кошмар какой то!. Во первых не совсем ясно куда его закинуть. Перепробовал все. Не ясно входит ли он в состав пакета после компиляции. Затем нивкакую не хочет читаться из игры. Явно его не находит. Вот здесь очень нужна ваша помощью. И думаю подобный урок будет полезен для многих. Спасибо.
@ANDROIDHELPERRU7 жыл бұрын
У вас файл создаётся сам в игре или он уже создан при компиляции?
@Kroaton777 жыл бұрын
Он создан еще при компиляция. Фактически это массив данных уровня. Плеер префабом, как известно не выйдет прочитать. В принципе решено. Но урок сделайте. Очень многие сталкиваются с такой проблемой. string oriPath = System.IO.Path.Combine(Application.streamingAssetsPath, "lvlopt.sg"); // Android only use WWW to read file WWW reader = new WWW(oriPath); while ( ! reader.isDone) {} realPath = Application.persistentDataPath + "/lvlopt.sg"; System.IO.File.WriteAllBytes(realPath, reader.bytes); dbPath = realPath; // } StreamReader sw = new StreamReader(realPath); TEST = System.Convert.ToInt16(sw.ReadLine()); sw.Close(); Я думаю, Вам понятно что здесь написано. Ждем урока - Спасибо.
@Kroaton777 жыл бұрын
Да и еще. Исходный файл обязательно должен лежать в папке StreamingAssets
@ANDROIDHELPERRU7 жыл бұрын
Так это уже давно понятно всем. Мы делали это при создании мультиязычности для игры. Так что нету смысла делать отдельный урок по этому.
@shnik72133 жыл бұрын
18:09 хехех
@viktorkatsava5957 жыл бұрын
Здравствуйте. Не могли бы вы сделать урок по ИК?
@ANDROIDHELPERRU7 жыл бұрын
ИК?
@kokses36785 жыл бұрын
@@pkowak IK
@dmitriypermyakov65793 жыл бұрын
Нихера не понятно. Это талант нужен так подать.
@ДанилНедорубан7 жыл бұрын
Привет, сними пожалуйста видео про то как сделать симулятор открытия кейсов на андроид пожалуйста
@ДанилНедорубан7 жыл бұрын
Я знаю что ты уже делал про кейсы видео но запиши ещё уроки по кейсам чтобы можно было открывать инвентарь , продавать оружия и чтобы была денежная система пожалуйста!
@АльбертАвагян-м9т7 жыл бұрын
Откуда вы получаете всю эту информацию, документацию юнити читаете или что ?
@ANDROIDHELPERRU7 жыл бұрын
Просто уже натренирован навык поиска информации. Если чего-то не знаем, ищем в интернете и собираем всё воедино.
@MrVoronaExtra4 жыл бұрын
Официальная документация, Stackoverflow, сайты по типу "ответы на вопросы"... Столько способов найти нужную информацию, главное не лениться
@yerbolkabzitov92167 жыл бұрын
Добрый день! Когда ввожу текст, вместо казахских букв вылезает знак вопроса? Пробовал импортировать свой шрифт с казахскими буквами, но все равно вылезает ????
@ANDROIDHELPERRU7 жыл бұрын
Это в юнити не поддерживается кодировка казахского языка. Поищите в интернете, может есть ответы.
@ZeroDPI5 жыл бұрын
А как убрать ползунки?
@alexthebitlock86566 жыл бұрын
Всем привет, никто не знает как загружать пользовательские модели в игру (после компиляции)?
@РусланАсташенко5 жыл бұрын
Кто напечатает, скиньте в комменты !
@luciferofficial75745 жыл бұрын
Выдает ошибку на строке FileScript file = Instantiate (filePrefab, filesContent.transform).GetComponent(); Ошибка в GetComponent юнити выделяет его красным и не билдит
@ANDROIDHELPERRU5 жыл бұрын
Ну так прочитайте что за ошибка
@luciferofficial75745 жыл бұрын
@@ANDROIDHELPERRU Assets/Scripts/ImageManager/ImageManager.cs(29,92): error CS1061: Type `UnityEngine.Object' does not contain a definition for `GetComponent' and no extension method `GetComponent' of type `UnityEngine.Object' could be found (are you missing a using directive or an assembly reference?) . Я не понимаю что надо сделать?
@ANDROIDHELPERRU5 жыл бұрын
@@luciferofficial7574 filePrefab типа GameObject?
@luciferofficial75745 жыл бұрын
ANDROIDHELPER [UNITY3D and more] да
@luciferofficial75745 жыл бұрын
ANDROIDHELPER [UNITY3D and more] версия юнити 5.4.1
@rinky68137 жыл бұрын
А можно это соеденить с другим проектом?
@ANDROIDHELPERRU7 жыл бұрын
В каком смысле?
@rinky68137 жыл бұрын
ANDROIDHELPER [UNITY3D and more] Ну типо ты сделал это.Но у тебя есть игра на другом проекте.То можно этот проект как бы вставить в другой и чтобы эти два проекта были едины
@ANDROIDHELPERRU7 жыл бұрын
Что-то вы меня ломаете. В чём суть этих действий? Что вам мешает просто изменить код в своём первом проекте?
@ANDROIDHELPERRU7 жыл бұрын
Если вы хотите какой-то сборник игр делать, то можно использовать разные сцены в одном проекте и всё.
@achies-j3i7 жыл бұрын
Нет, он имел ввиду, что это в свой проект вставить. Такие люди не пытаются учиться, они просто копируют начисто код, не пытаясь разобраться. Но кому я это рассказываю, вы уже привыкли, наверное.
@a-pl7mi6 ай бұрын
не работает(
@РусланАсташенко5 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.IO; using System.Linq; public class AvatarManager : MonoBehaviour { public GameObject filesListPan, filesContent, filePrefab; public RawImage avatarImg; private DirectoryInfo dirInfo = new DirectoryInfo("ВАШ ПУТЬ"); private FileInfo[] files; private GameObject[] instancedObjs; public static FileManager instance; private void Awake(){ instance = this; } // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void LoadAvatarList(){ filesListPan.SetActive(true); avatarImg.gameObject.SetActive(false); files = new string[] {"*.jpg", "*.png"}.SelectMany(ext => dirInfo.GetFiles(ext, SearchOption.AllDirectories)).ToArray(); instancedObjs = new GameObject[files.Length]; for(int i = 0; i < files.Length; i++){ FileScript file = Instantiate(filePrefab, filesContent.transform).GetComponent(); file.fileNameText.text = files[i].Name; file.index = i; instancedObjs[i] = file.gameObject; } } public void SelectAvatar(int index){ WWW www = new WWW("file://" + files[index].FullName); avatarImg.texture = www.texture; filesListPan.SetActive(false); avatarImg.gameObject.SetActive(true); foreach(GameObject obj in instancedObjs){ Destroy(obj); } } }