Про создание игры типа шарики
|
|
ZVEN | Дата: Вторник, 12 Января 2016, 23:00 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Здравствуйте, возник вопрос, если раньше задавали, то извиняюсь. Как сделать игру типа шарики, lines. или как-нить еще. То-есть интересует как разбить поле на квадраты и к ним что-нибудь привязать. Может видео есть? Буду признателен, хочу реализацию посмотреть. И кстати скажите плиз пару каналов на ютубе, можно зарубежных, где хоть что-нить кроме шутанов делают. Лучше 2D игры, интересует данная тема.
|
|
| |
8Observer8 | Дата: Вторник, 12 Января 2016, 23:45 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Цитата ZVEN ( ) Лучше 2D игры Вот здесь хорошие туториалы по 2D играм: http://noobtuts.com/unity
Тоже делаю Lines. Если найду тутор именно по Lines, то скину ссылку. В этой игре есть одна загвоздка, что придётся реализовывать алгоритм поиска кратчайшего пути. Скорее всего, волновый алгоритм.
Сообщение отредактировал 8Observer8 - Вторник, 12 Января 2016, 23:46 |
|
| |
Lapish | Дата: Среда, 13 Января 2016, 00:44 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Цитата ZVEN ( ) И кстати скажите плиз пару каналов на ютубе, можно зарубежных, где хоть что-нить кроме шутанов делают. Я Brackeys иногда смотрю. Платформер, понг etc Brackeys
Сообщение отредактировал Lapish - Среда, 13 Января 2016, 00:44 |
|
| |
ZVEN | Дата: Среда, 13 Января 2016, 11:54 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| А на русском ничего подобного не видели? Добавлено (13 января 2016, 11:54) --------------------------------------------- Я вот думаю может наглядней будет на видео, где например интвентарь для какой-нить РПГ делают? Там обычно все предметы по ячейкам лежат.
|
|
| |
8Observer8 | Дата: Среда, 13 Января 2016, 12:21 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Цитата ZVEN ( ) Я вот думаю может наглядней будет на видео, где например интвентарь для какой-нить РПГ делают? Большой туториал из 42-х уроков -> Inventory
Правда, я его ещё не смотрел. Не уверен, что он подходит для Lines.
Следующий тутор тоже ещё не смотрел, но уверен, что он больше подойдёт для создания ячеек и не только: 2048: Build your First Complete Game with C# and Unity
Сообщение отредактировал 8Observer8 - Среда, 13 Января 2016, 12:27 |
|
| |
ZVEN | Дата: Среда, 13 Января 2016, 14:13 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Цитата 8Observer8 ( ) Следующий тутор тоже ещё не смотрел, но уверен, что он больше подойдёт для создания ячеек и не только: 2048: Build your First Complete Game with C# and Unity
Туториал хороший, но он платный(
|
|
| |
MANMANA | Дата: Среда, 13 Января 2016, 14:24 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| Я бы в сторону Match3 посмотрел. http://studentguru.gr/b....n-unity Ссылочно: тутор по шарикам для iOs в XCode http://www.imaladec.com/story/primer_napisanie_igri_color_lines
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
8Observer8 | Дата: Среда, 13 Января 2016, 14:38 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Цитата ZVEN ( ) Туториал хороший, но он платный( Для меня, из провинции (с нашим уровнем зарплат), это тоже очень дорогой тутор. $99 - если по курсу 76.331 рублей за доллар, то получается 7556 рублей. Хорошие курсы сейчас стоят очень дорого.
Сообщение отредактировал 8Observer8 - Среда, 13 Января 2016, 16:49 |
|
| |
ZVEN | Дата: Пятница, 15 Января 2016, 13:41 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| Вызываю Input.MousePosition, но проблема что позиция в виде от (0,0) до (1,1). Можно ли как-нить сделать позицию как у объектов? То-есть по осям: например от -3 до +3
|
|
| |
allods | Дата: Пятница, 15 Января 2016, 16:02 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| умножай на Screen.Weight /Screen.Height и узнаешь координаты в 2D Для 3D кидай рейкаст либо конвертируй из 2D в 3D но ты получишь координату с Z = 0
Сообщение отредактировал allods - Пятница, 15 Января 2016, 16:07 |
|
| |
ZVEN | Дата: Пятница, 15 Января 2016, 18:46 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| Да, только косяк один, будут получаться постоянно положительные числа. А мне нужно чтоб центр (0,0) был. Слева отрицательные значения, справа положительные. Ну например шар в 0,0 поставь и подвигай влево, получится (-3,0) и т.д
|
|
| |
seaman | Дата: Пятница, 15 Января 2016, 20:28 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| Предлагаю повторить школьный курс арифметики.
|
|
| |
8Observer8 | Дата: Пятница, 15 Января 2016, 20:31 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| Можно попробовать поставить на каждой ячейке по пустому объекту с коллайдерами. Так можно будет узнать на какую ячейку кликнул игрок. Хотя тут нужно учитывать выбранный подход к архитектуре проекта. Пока что архитектуру я не продумал до конца. Если честно, даже не начинал
|
|
| |
allods | Дата: Пятница, 15 Января 2016, 23:06 | Сообщение # 14 |
почти ветеран
Сейчас нет на сайте
| Цитата ZVEN ( ) Да, только косяк один, будут получаться постоянно положительные числа. А мне нужно чтоб центр (0,0) был. Слева отрицательные значения, справа положительные. Ну например шар в 0,0 поставь и подвигай влево, получится (-3,0) и т.д
отнимай от x -0.5 и у - 0,5 а потом умножай как я писал выше
|
|
| |
ZVEN | Дата: Суббота, 16 Января 2016, 12:22 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| Спасибо я уже решил проблему немного по-другому. Чет я насчет этого ваще не догадался. Я решил это дело вот так:
Код Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 mp = new Vector3(ray.origin.x, ray.origin.y, 0); Debug.Log(mp);
|
|
| |
8Observer8 | Дата: Вторник, 19 Января 2016, 00:51 | Сообщение # 16 |
заслуженный участник
Сейчас нет на сайте
| Наткнулся на такой туториал: Unity2D - Пишем игру Lines (Линии, Шарики)
В конце тутора можно пакетом проект скачать.
В Википедии написано:
Цитата Для совершения хода необходимо, чтобы между начальной и конечной клетками существовал путь из свободных клеток.
Тут A* алгоритм: Unity 5 2D: Pathfinding
Сообщение отредактировал 8Observer8 - Вторник, 19 Января 2016, 00:51 |
|
| |
ZVEN | Дата: Пятница, 22 Января 2016, 19:25 | Сообщение # 17 |
почетный гость
Сейчас нет на сайте
| Спасибо большое. Тут появился вопрос как Particle System прикрепить к объекту и чтоб система частиц сначала не работала, а например при нажатии мышки включалась на 2 секунды? Принципе у меня получилось при помощи Star() и Stop(), но есть 2 косяка: 1)С самого начала постоянно работает, выключаю через Stop() 2)Не могу сделать таймер на 1-2 секунды. Помогите плизДобавлено (20 января 2016, 19:52) --------------------------------------------- Никто не подскажет? Добавлено (20 января 2016, 20:13) --------------------------------------------- Также интересует вопрос Тут по таймеру вызывается отображение нового предмета, после того как мы его задели. Таймер работает 1 раз, потому что по фрейма не меняется. Как в Update нормально и красиво засунуть чтоб таймер сработал? Добавлено (20 января 2016, 20:14) --------------------------------------------- Вот сам код
Код void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag ("Give me")) { other.gameObject.SetActive(false);
float timer = Mathf.RoundToInt(Random.Range(5f, 10f)); if (timer > 0) { timer = timer - Time.deltaTime; Debug.Log(timer); } if (timer < 0) { other.transform.position = new Vector3(Random.Range(-8f, 8f), Random.Range(-4f, 6f), 0f); other.gameObject.SetActive(true); }
} }
Добавлено (22 января 2016, 19:25) --------------------------------------------- Таймер научился делать и вызываю его через корутин, правда с particle system не работает. Как проверить выходит ли объект за границы камеры?
|
|
| |
chupakaber | Дата: Суббота, 30 Января 2016, 05:21 | Сообщение # 18 |
был не раз
Сейчас нет на сайте
| Цитата ZVEN ( ) чтоб система частиц сначала не работала достаточно убрать эту галочку http://clip2net.com/s/3tCYKGx
Цитата ZVEN ( ) 2)Не могу сделать таймер на 1-2 секунды.
Цитата ZVEN ( ) Таймер работает 1 раз, потому что по фрейма не меняется. очевидно нужно его вынести из метода хранить в виде свойства класса например
Код public float timer2sec = 0.0f; public Collider other;
public void StartTimer(Collider collider) { other = collider; timer2sec = 2.0f; }
public void EndTimer() { if(other != null) { other.transform.position = new Vector3(Random.Range(-8f, 8f), Random.Range(-4f, 6f), 0f); other.gameObject.SetActive(true); } }
void Update() { if(timer2sec > 0.0f) { timer2sec -= Time.deltaTime; if(timer2sec <= 0.0f) { EndTimer(); } } }
void OnTriggerEnter(Collider collider) { if (collider.gameObject.CompareTag ("Give me")) { collider.gameObject.SetActive(false); StartTimer(collider); } }
так можно удобно следить за изменением свойств в инспекторе, а так корутин тоже вариант
Цитата ZVEN ( ) Как проверить выходит ли объект за границы камеры? преобразовывать реальные координаты в координаты вида при помощи матрицы вида например
Код камера.worldToCameraMatrix
или при помощи готовых методов, что удобнее. например:
Код Vector3 координаты_на_экране = камера.WorldToViewportPoint(объект.transform.position);
координаты кажется в диапазоне от 0 до 1, но лучше проверь сам через Debug.Log
|
|
| |
ZVEN | Дата: Четверг, 04 Февраля 2016, 17:08 | Сообщение # 19 |
почетный гость
Сейчас нет на сайте
| Цитата chupakaber ( ) чтоб система частиц сначала не работала
достаточно убрать эту галочку http://clip2net.com/s/3tCYKGx Все нормально, но как программно вызывать на несколько секунд Particle System?
|
|
| |
Antrix | Дата: Суббота, 06 Февраля 2016, 00:39 | Сообщение # 20 |
почетный гость
Сейчас нет на сайте
| Вызвать и уничтожить через определенное кол-во секунд. Или же поменять lifetime у партикла.
|
|
| |