Результаты поиска
| |
Lertmind | Дата: Суббота, 20 Сентября 2014, 19:25 | Сообщение # 541 | Тема: cant add script |
заслуженный участник
Сейчас нет на сайте
| Ты должен файл назвать так: имя.cs, где имя это название класса (public class characterController : MonoBehaviour {). В данном случае ты скачал с именем "charactercontroller.cs.cs", переименуй в "characterController.cs".Добавлено (20.09.2014, 19:25) --------------------------------------------- Я этот урок тоже читал, автор не предполагал, что человек может не знать, как нужно называть скрипты.
|
|
| |
Lertmind | Дата: Суббота, 20 Сентября 2014, 09:14 | Сообщение # 542 | Тема: Размер текстуры отображаемой на экране |
заслуженный участник
Сейчас нет на сайте
| Как вариант: преобразовать точки по углам текстуры в координаты экрана, потом уже легко определить ширину и высоту. Camera.WorldToScreenPoint в помощь.
Добавлено (20.09.2014, 09:14) --------------------------------------------- Скрипт, который работает для спрайта: Код using UnityEngine;
public class Test : MonoBehaviour { void Start() { var sr = GetComponent<SpriteRenderer>(); // Определяем точки в мировых координатах Bounds bounds = sr.bounds; float top = transform.position.y + bounds.extents.y; float right = transform.position.x + bounds.extents.x; float bottom = transform.position.y - bounds.extents.y; float left = transform.position.x - bounds.extents.x; // Размер в пикселях Vector3 size = Camera.main.WorldToScreenPoint(new Vector3(right, top, 0)) - Camera.main.WorldToScreenPoint(new Vector3(left, bottom, 0)); // Округляем до целых size.x = Mathf.Round(size.x); // Ширина size.y = Mathf.Round(size.y); // Высота Debug.Log(size); } }
Сообщение отредактировал Lertmind - Суббота, 20 Сентября 2014, 09:15 |
|
| |
Lertmind | Дата: Среда, 17 Сентября 2014, 11:19 | Сообщение # 543 | Тема: проблемка с collider2d |
заслуженный участник
Сейчас нет на сайте
| А у всех работает, значит твой косяк и никто не поможет тебе с такой недостаточной информацией.
|
|
| |
Lertmind | Дата: Понедельник, 15 Сентября 2014, 01:58 | Сообщение # 544 | Тема: Имитация ландшафта в 2D [libgdx] |
заслуженный участник
Сейчас нет на сайте
| Посмотри скрины к игре OpenTTD, там похожий ландшафт как в генераторе. Если тебе нужен именно такой, то в 2D можно. Можно что-то нагуглить на isometric terrain. Хороших примеров не нашёл, но например здесь есть бесплатный движок на java. Поройся в OpenTTD и похожих тайкунах.
|
|
| |
Lertmind | Дата: Понедельник, 15 Сентября 2014, 01:36 | Сообщение # 545 | Тема: Android Build ошибка |
заслуженный участник
Сейчас нет на сайте
| MANMANA, Eclipse не обязательно ставить, Android SDK Manager доступен через меню программ. Но я тоже думаю, что стоит правильно переставить SDK.
dzrone3488, ты всё по инструкции делал? Некоторые советуют копируют файлы, которые в ошибках в нужные места. В твоём случае aapt.exe нужно скопировать из C:\Program Files\Android\android-sdk\build-tools\последняя_версия. Такое решение предлагается здесь например.
|
|
| |
Lertmind | Дата: Суббота, 13 Сентября 2014, 19:25 | Сообщение # 546 | Тема: Туплю в написании скрипта |
заслуженный участник
Сейчас нет на сайте
| Может в этой строчке obj.transform.position = ray.GetPoint(hit.distance) + new Vector3(0, 0.5f, 0); добавить Clamp? obj.transform.position = ray.GetPoint(Mathf.Clamp(hit.distance, 0f, 2f)) + new Vector3(0, 0.5f, 0);Добавлено (13.09.2014, 19:25) --------------------------------------------- Правда объект будет чуть выше, если дальше смотреть и расстояние чуть другое (потому что луч не параллелен поверхности). В играх от первого лица обычно объект просто перед тобой.
|
|
| |
Lertmind | Дата: Пятница, 12 Сентября 2014, 01:58 | Сообщение # 547 | Тема: точный плавный поворот |
заслуженный участник
Сейчас нет на сайте
| Цитата allods ( ) Lertmind,
float angle = Mathf.LerpAngle(angle , targetAngle, Time.deltaTime); transform.eulerAngles = new Vector3(0, angle, 0);
Этого достаточно Ничего подобного, твой код работает неправильно, здесь не будет равномерно движения (интерполяция между разными углами) , а в моём коде будет.
У polous правильный код с равномерным движением: Перед началом поворота - Код Quaternion target = Quaternion.Euler (startAngle_x, startAngle_y + AngleOfRotate, startAngle_z); На каждой итерации - Код transform.rotation = Quaternion.RotateTowards (transform.rotation, target, Time.deltaTime * speed); // Здесь deltaTime * speed - это СМЕЩЕНИЕ
Сообщение отредактировал Lertmind - Пятница, 12 Сентября 2014, 01:58 |
|
| |
Lertmind | Дата: Четверг, 11 Сентября 2014, 21:22 | Сообщение # 548 | Тема: Соединение объектов в форме дуги |
заслуженный участник
Сейчас нет на сайте
| Это гуглится на "blender rounded edges". Ответ например здесь http://blender.stackexchange.com/questio....85#2485. Простой способ Ctrl + B. Или использовать модификатор Bevel.
|
|
| |
Lertmind | Дата: Суббота, 06 Сентября 2014, 02:24 | Сообщение # 549 | Тема: точный плавный поворот |
заслуженный участник
Сейчас нет на сайте
| allods, ты - "молодец", но человеку не помочь этой функцией, если он не знает как правильно должно работать. Ему и надо было показать как надо делать, что я сделал выше. С твоим LerpAngle, надо ещё проделывать такое (не считая ещё таких важных нюансов, как изменение startAngle и targetAngle для повторного поворота): Код public float rotationSpeed = 0f; // Скорость поворота public float targetAngle = 90f; // Угол на который надо повернуться public float startAngle = 0f; float journeyTime = 0f;// Времени в движении float currentTime = 0f;
void Start() { journeyTime = targetAngle / rotationSpeed; }
void Update() { currentTime += Time.deltaTime; float fracComplete = currentTime / journeyTime; float angle = Mathf.LerpAngle(startAngle, targetAngle, fracComplete); transform.eulerAngles = new Vector3(0, angle, 0); } По мне здесь больше геморроя.
Правка: minAngle переназвал в startAngle, так понятней.
Сообщение отредактировал Lertmind - Пятница, 12 Сентября 2014, 02:27 |
|
| |
Lertmind | Дата: Суббота, 06 Сентября 2014, 00:51 | Сообщение # 550 | Тема: точный плавный поворот |
заслуженный участник
Сейчас нет на сайте
| Ты просто неправильно делаешь проверку на достижение желаемого угла. Твой последний с Quaternion.Lerp будет двигаться с разной скорость. Мой вариант с transform.Rotate, где скорость поворота одинаковая всегда: Код public class RotateMe : MonoBehaviour {
public float rotationSpeed = 0f; // Скорость поворота public float targetAngle = 0f; // Угол на который надо повернуться
IEnumerator RotateMeNow() { float currentAngle = 0f; while (true) { float step = rotationSpeed * Time.deltaTime; if (currentAngle + step > targetAngle) { // Докручиваем до нашего угла step = targetAngle - currentAngle; transform.Rotate(Vector3.up, step); break; } currentAngle += step; transform.Rotate(Vector3.up, step); yield return null; } }
void Update() { if (Input.GetMouseButtonDown(0)) { StartCoroutine(RotateMeNow()); } } } Добавлено (06.09.2014, 00:51) --------------------------------------------- Если ты не научился работать с корутинами: Код public class RotateMe : MonoBehaviour { public float rotationSpeed = 0f; // Скорость поворота public float targetAngle = 0f; // Угол на который надо повернуться
bool goRotatePlr = false; float currentAngle = 0f;
void Start() { goRotatePlr = true; }
void Update() { if (goRotatePlr) { float step = rotationSpeed * Time.deltaTime; if (currentAngle + step > targetAngle) { // Докручиваем до нашего угла step = targetAngle - currentAngle; transform.Rotate(Vector3.up, step); goRotatePlr = false; currentAngle = 0f; } else { currentAngle += step; transform.Rotate(Vector3.up, step); } } } }
|
|
| |
Lertmind | Дата: Среда, 03 Сентября 2014, 23:16 | Сообщение # 551 | Тема: Spider Plant [Gamiron №8] |
заслуженный участник
Сейчас нет на сайте
| Портят игру такие баги: 1. Неправильная обработка поиска пути у юнитов: они жутко тупят, застревают. 2. "Рабочие" неправильно определяют ближайшую "Плавильню", отучить нереально и "Плавильню" не удалить. 3. Идущий от тебя враг не получает урона, приходиться его преследовать и бить когда он встанет.
Простой вариант решения столкновения рабочих - не проверять у них коллизии. Этот хак/костыль ещё в Starcraft использовали, здесь об этом написано если интересно.
|
|
| |
Lertmind | Дата: Среда, 03 Сентября 2014, 22:51 | Сообщение # 552 | Тема: Поиск количества true в массиве в update |
заслуженный участник
Сейчас нет на сайте
| Вообще у тебя проблема с логикой приложения, обычно нет смысла так делать.
Но если тебе так хочется: Код public class Test : MonoBehaviour { bool array = new bool[10]; int count = 0;
void Update() { int count = 0; foreach (bool val in array) { if (val) count++; }
// Используешь переменную count // ... } }
|
|
| |
Lertmind | Дата: Среда, 03 Сентября 2014, 01:47 | Сообщение # 553 | Тема: Голосование за проекты конкурса "Gamiron №8" |
заслуженный участник
Сейчас нет на сайте
| Drish - Spider Plant
|
|
| |
Lertmind | Дата: Среда, 03 Сентября 2014, 01:00 | Сообщение # 554 | Тема: Space Conflict [Gamiron #8] |
заслуженный участник
Сейчас нет на сайте
| Шрифт плохочитаемый: сам по себе, курсив так ещё и в верхнем регистре. Верхний регистр стоит применять только в редких случаях, но точно не когда идёт много текста. Для примера, обычный Arial:
|
|
| |
Lertmind | Дата: Четверг, 28 Августа 2014, 23:09 | Сообщение # 555 | Тема: Помогите сделать задержку |
заслуженный участник
Сейчас нет на сайте
| Цитата beril ( ) Используй Таймер или Invoke Это парашный таймер, лучше использовать Coroutine, про который автор темы и говорил, только он не понял как с ним работать. Как с ними работать хорошо написано здесь http://unitypatterns.com/.
Но в данном случае, лучше делать как написал GantZ_Yaka.
|
|
| |
Lertmind | Дата: Четверг, 28 Августа 2014, 16:43 | Сообщение # 556 | Тема: Woodcutter Chuck (Аркада) [Android] |
заслуженный участник
Сейчас нет на сайте
| Выдержанно в одном стиле, это радует. Можно было бы добавить ещё вместо дерева что-то: блоки бетона с арматурой вместо веток, дерево из сказки с волшебными бобами, здание с антеннами и вывешенным бельём, космическую станцию (как раз по модулям) с их зеркальными пластинами; так было бы брутальней.
|
|
| |
Lertmind | Дата: Четверг, 28 Августа 2014, 16:24 | Сообщение # 557 | Тема: FastBurger [2d | Haxe | Android] |
заслуженный участник
Сейчас нет на сайте
| Цитата inventrix ( ) Странно, кто нибудь еще не видит скрины? Ага, мне бы теперь развидеть бабу с бородой.
|
|
| |
Lertmind | Дата: Среда, 27 Августа 2014, 23:57 | Сообщение # 558 | Тема: Совсем бум бум |
заслуженный участник
Сейчас нет на сайте
| 1. Учить надо английский. 2. Если ты не изучал ЯП, то будет сложно в первый раз. На некоторых язык писать проще, например на C#, Java, JS, Python писать проще, чем на C, C++. 3. Из движков тебе многие посоветую Unity3D, я тоже. Там С#, поэтому будет хорошо прочитать книгу типа Троелсен - Язык программирования C#. Редактор кода в Unity уже есть, но можно использовать Visual Studio.
А вообще лучше научись гуглить и не захламлять форум элементарными вопросами.
|
|
| |
Lertmind | Дата: Среда, 27 Августа 2014, 21:36 | Сообщение # 559 | Тема: Запрет анимации из Update во время воспроизведения другой |
заслуженный участник
Сейчас нет на сайте
| Цитата Там не TakeKatana.TakeKatana, а TakeKatana.KatanaTaking. Я про объявление переменной. public TakeKatana TakeKatana; // Это ваша строчка
Мой способ так себе, нужно делать гибче. Один из хороших способов это "система конечных автоматов" (finite-state machine (FSM)).
|
|
| |
Lertmind | Дата: Среда, 27 Августа 2014, 19:36 | Сообщение # 560 | Тема: Запрет анимации из Update во время воспроизведения другой |
заслуженный участник
Сейчас нет на сайте
| Может из-за того, что ты назвал объект класса так же как и класс? public TakeKatana TakeKatana; // Это ужас Хотя даже так должно работать. По твоему коду не видно, что не так. И я не понял, зачем проверять на false, я думал что проверку if (!animation.IsPlaying("KatanaTakeClip")) ты поставишь перед всеми if Joy.
Сообщение отредактировал Lertmind - Среда, 27 Августа 2014, 19:49 |
|
| |
|