Это первый урок в котором уже полноценная база игры готова за 5 минут и при этом весь код объяснен детально, ничего в плане скриптов и не осталось вне записи. А так-же самое главное что все скрипты написаны автором, а не в тупую скачаны как это делает большинство подобных ютуберов... Огромное спасибо... )
Как сделать такой же виртуал бокс как у тебя? Чтобы код точно как у тебя написать, ты когда player открыл у меня на таком вообще другой лист виртуал бокс вышел, как сделать чтоб точно как у тебя был?
Что делать, если скрипт Gear.cs написан правильно, но перетащить скрипт в шестеренку я не могу? В скрипт Player я добавил строчку с 5-ю hp, скрипт Gear написан правильно, имя у шестеренки Gear, тег Gear я выдал ей, игроку тег Player также. Версия Unity - Unity 2021.1.16f1 Если у вас получилось все правильно скиньте пожалуйста сюда правильный код двух скриптов, буду очень благодарен. *Уже исправил, нужно было просто пересоздать скрипт* ------ Player.cs ------ using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { private Vector2 targetPos; public float Yincrement; public float speed; public float maxHeight; public float minHeight; public int health = 5; private void Update() { transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime); if (Input.GetKeyDown(KeyCode.W) && transform.position.y < maxHeight) { targetPos = new Vector2(transform.position.x, transform.position.y + Yincrement); } else if (Input.GetKeyDown(KeyCode.S) && transform.position.y > minHeight) { targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement); } } } ------ Gear.cs ------ using System.Collections; using System.Collections.Generic; using UnityEngine; public class Gear : MonoBehaviour { public int damage = 1; public float speed; private void Update() { transform.Translate(Vector2.left * speed); } private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { other.GetComponent().health -= damage; Destroy(gameObject); } } }
У кого не работает скрипт Spawner, вам нужно строку timeBtwSpawn -= Time.deltaTime перенести в начало функции Update По крайней мере у меня так работает
Конечно всё круто, только вот Точки вариантов спавнятся в кучу и не уничтожаются после выпуска шестеренок. в результате имеем кучу ненужных объектов. Надо бы скрипт подкорректировать.
Спасибо за ваши видео. Если можно , очень хотелось бы узнать о том, как добавлять небольшие кат-сцены (или даже видео) в игру. Как, например, в Салли фейс или Френ боу. Буду благодарна, если такое видео будет на канале, заранее спасибо!
if(transform.position.y > 3.16) { targetPos.y = 3.15f; } if(transform.position.y < -3.16) { targetPos.y = -3.15f; } для тех у кого персонаж проваливается за границу
а куда на видео из иерархии пропадает префаб шестерёнки ? а ещё при спавне у меня спавнятся клоны вариантов(видно в иерархии) но на сцене их нет, но наверное потому что нет самой шестерёнки, однако сделал всё как у Макса
Привет, подскажи пожалуйста, создал спаунер по твоему скрипту, но у меня сразу появляется враг и спаунер делает еще одного, пытаюсь убрать врага со сцены, но и спаунер перестает создавать, Грубо говоря сразу с 0 сек начинает бежать два, потом 1 и потом согласно моему таймингу по 1
Делаю игру я не знал механику targetpos решил посмотреть у тебя. Прикол в том что когда ты хочешь передвинуться и во время когда ты между дорожками ты можешь обратно на кнопку и он будет между дорожками что делать?
Если добавить 4 вариант шестеренок "одна по середине" это усложнит и разнообразит игру, т.к. придётся просчитывать ходы на 2-3 шага вперёд, чтоб не попадать в ловушки.
помогите пожалуйста, я хочу сделать 3 варианта этих шестирёнок, но у меня не копируется а дублируются эти варианты из за этого у меня их не 2 а 6, как нормально скопировать
функцию, которая стоит в if перемести в отдельный метод, например верх public void OnUpButtonDown() { *тут функция* } потом создай на канвасе кнопку, добавь туда игрока, выбери скрипт player и укажи функцию
Maxter, если ты это видишь, мог бы ты пояснить как пофиксить баг с прохождением за макимальные заданные границы в игре, нигде не могу найти? Буду очень благодарен если ответишь
Блин люди, а можете пожалуйста подсказать что мне делать, просто у меня не отображаются шестерёнки, хотя в консоли все работает и они выбраны т.е в консоли пишет когда игра запущена; Variant 1 а шестеренки сами не показываются
помогите пожалуйста, у меня шестерёнки(точнее у меня квадраты) спавнятся, но не двигаются, в иерархии всё отображается и сбоку где спавнер всё тоже отображается. Например я запускаю проект, справа где спавнер появляется один из вариантов, потом через секунду спавнится ещё один вариант, накладывается на предыдущий, и так далее. Всё вроде как на видео, даже не знаю где может быть ошибка.
@@pppva2667 у меня такая же проблема. Причем пределы верхней и нижней границы есть. При одиночном нажатии на клавиши все работает как часы, но при двойном - улетает за пределы и перемещается не на установленное в инспекторе расстояние
У меня на старте сразу появляется 3 "Шестерёнки" и при столкновении они не исчезают и урон тоже не наносят, я уже трижды пробежался по коду и вроде всё должно работать как надо((( Буду пробовать ещё и ещё раз
Почему когда я добавляю скрипт Player мне пишет (я класс проверил имя совпадает) перевод:Невозможно добавить компонент сценария Player, поскольку класс сценария не найден. Убедитесь, что здесь нет ошибок компиляции и что имя файла и имя класса совпадают. Почему пожалуйста ответьте.
привет,я вот ищу годный материал для обучения ,но я хочу делать игры на андроид а 95% видео про комп(точнее управление с компа)как сделать такую игру с управлением с тлф?
а как сделать управление для андроид??? тип там ток для пк или при запуске через Unity Remoute будет все норм? тип оно автоматически сделает на андроид?
вот такой скрипт игрока подходит using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { private Vector2 targetPos; public float Yincrement; public float speed; public float maxHeight; public float minHeight; public int health = 5; private void Update() { transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime); } public void OnUpButtonDown() { if (transform.position.y < maxHeight) { targetPos = new Vector2(transform.position.x, transform.position.y + Yincrement); } } public void OnDownButtonDown() { if (transform.position.y > minHeight) { targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement); } } } потом на канвасе создаешь кнопку, в нее перетаскиваешь игрока, выбираешь скрипт player и выбираешь функцию
Это первый урок в котором уже полноценная база игры готова за 5 минут и при этом весь код объяснен детально, ничего в плане скриптов и не осталось вне записи. А так-же самое главное что все скрипты написаны автором, а не в тупую скачаны как это делает большинство подобных ютуберов... Огромное спасибо... )
Спасибо автору огромное
Я удивляюсь, почему у тебя так мало подписчиков? У тебя всё круто получается!!
++++++
Макс который считает что у него много подписчиков🗿
Сам в шоке сижу такого контента мало у кого найдёшь(нигде нет такого контента как у тебя Макс)=) удачи)
я тоже
да но ролики очень редко просто так бы было милионов 5 подпищиков
Просто комент...
Просто для продвижения...
Просто спасибо) 👍
Просто лайк...
Просто день...
Просто во👍
Просто отввеет
Замечательный канал, спасибо за то, что ты делаешь) Хотелось бы в будущем видео про мобильное управление свайпами в подобных 2D-раннерах.
Гугл
Очень интересно. Сейчас никто не делится такими знаниями бесплатно, одна вода, на твоем же канале конкретика, и законченые до конца проэкты:) Спасибо
Почему у меня шестерни не двигаются, помоги плз
@@Lil_PACIENT а у меня они вверх летят, хз чё за фигня
@@iris_oldTown я хуй забил уже как год назад
*Делитесь мнением о видео!*
Как сделать так что бы шестерёнки тоже постепенно ускорялись ?А то уже часа 2 сижу и никак не могу это сделат
ь?
Как сделать такой же виртуал бокс как у тебя? Чтобы код точно как у тебя написать, ты когда player открыл у меня на таком вообще другой лист виртуал бокс вышел, как сделать чтоб точно как у тебя был?
Что делать, если скрипт Gear.cs написан правильно, но перетащить скрипт в шестеренку я не могу? В скрипт Player я добавил строчку с 5-ю hp, скрипт Gear написан правильно, имя у шестеренки Gear, тег Gear я выдал ей, игроку тег Player также. Версия Unity - Unity 2021.1.16f1
Если у вас получилось все правильно скиньте пожалуйста сюда правильный код двух скриптов, буду очень благодарен.
*Уже исправил, нужно было просто пересоздать скрипт*
------ Player.cs ------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
private Vector2 targetPos;
public float Yincrement;
public float speed;
public float maxHeight;
public float minHeight;
public int health = 5;
private void Update()
{
transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.W) && transform.position.y < maxHeight)
{
targetPos = new Vector2(transform.position.x, transform.position.y + Yincrement);
}
else if (Input.GetKeyDown(KeyCode.S) && transform.position.y > minHeight)
{
targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement);
}
}
}
------ Gear.cs ------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gear : MonoBehaviour
{
public int damage = 1;
public float speed;
private void Update()
{
transform.Translate(Vector2.left * speed);
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
other.GetComponent().health -= damage;
Destroy(gameObject);
}
}
}
Макс как сделать управление на андроид?
Если у вас персонаж перемещается только вверх, то поменяйте там где "&& transform.position.y > minHeight" вот этот символ"". Все проблема решена!
От души братик,я ток что искал почему так получилось и тут ты👊🏻
Проблему уже сам решил, но спасибо
Супер! Молодец, отличные видео! По доброму завидую, что сам пока так не умею, а только начинаю этому учиться :) Желаю минимум миллион подписчиков!
Молодец! Все четко и по делу. Будут ли подробные ролики про рисование спрайтов?
Спасибо) Да, про рисование можно будет сделать
У кого не работает скрипт Spawner, вам нужно строку timeBtwSpawn -= Time.deltaTime перенести в начало функции Update
По крайней мере у меня так работает
чел лучший
Спасибо
Лучший
А каким образом, я просто не очень понимаю?
@@okril2864
private void Update()
{
timeBtwSpawn -= Time.deltaTime
// Весь остальной код
}
Давно искал как сделать спавн объектов, и вот случайно зашел на твой канал. Спасибо!) Подписка не глядя))
Я сделал как надо, точки сами спавнили и в итоге я делаю из его кода свой. Нормально, макстер
Потрясающе красочно и все просто, я бы с удовольствием в нее поиграю. Лайк за креатив
Какой же ты просто чудеснейший человечище !!!!!!!!!!!!!!!!!!!!!
Конечно всё круто, только вот Точки вариантов спавнятся в кучу и не уничтожаются после выпуска шестеренок. в результате имеем кучу ненужных объектов. Надо бы скрипт подкорректировать.
Господи спасибо что есть такой канал
Так эпично видос закончил
Где-то плачет blackthornprod.
ого Blackthornprod на русском заговорил)))
МАХТЕР СКАЖИ ПОЖАЛУЙСТА!!! КАК СДЕЛАТЬ УПРАВЛЕНИЕ НА АНДРОИД,ТОЕСТЬ ВМЕСТО W и S СВАЙПЫ ИЛИ СПЕЦИАЛЬНАЯ КНОПКА?
Крутое видео. Всё по делу и понятно
Здравствуйте Максим, можете пожалуйста ответить можно ли использовать эту игру как шаблон к 3д бесконечному раннеру(заранее спасибо:)!!!
Спасибо за ваши видео. Если можно , очень хотелось бы узнать о том, как добавлять небольшие кат-сцены (или даже видео) в игру. Как, например, в Салли фейс или Френ боу. Буду благодарна, если такое видео будет на канале, заранее спасибо!
Можно ли сделать анимированные спрайты? Тоесть, анимацию отрисова ь отдельно, а не сделать прямиком в юнити
Также можно проверять объекты через компонент который скрипт, тогда теги можно не использовать.
Игра за пять минут, а видео за семь😂😂😂😂
Я:+ 1.000.000 Подписчиков Maxter-у, +999.999.999 лайков Maxter-y
Кстати, недавно в юнити появился семпл ранера в меню
Кросс,продолжай
Это шикарно, я попытаюсь тоже сделать игру
Очен круто.Спасибо👍
Ты очень крут, спасибо, еще бы исходник...
Сделай пожалуйста в будущем уроки по 2d шутеру
+++ собирался
@@maxters го шутер )
@@maxters И желательно с видом сверху
@@sewen_ga1s229 + за вид сверху(изометрию), очень интересно было бы посмотреть подобное видео
if(transform.position.y > 3.16)
{
targetPos.y = 3.15f;
}
if(transform.position.y < -3.16)
{
targetPos.y = -3.15f;
}
для тех у кого персонаж проваливается за границу
При столкновении игрока с шестеренкой, шестеренка не исчезает что делать?
Что делать если спавнится только одна шестерёнка
?
Привет,сделай пожалуйста тутор чтобы на разных разрешениях экрана игра была одинакова по размерам
это легко сделать, на canvas там компонент canvas scaler и выбираешь вместо constant pixel size ставишь scale with screen size
Ты топ желаю тебе 1000000подпищеков
Интересно 🤔
а куда на видео из иерархии пропадает префаб шестерёнки ?
а ещё при спавне у меня спавнятся клоны вариантов(видно в иерархии) но на сцене их нет, но наверное потому что нет самой шестерёнки, однако сделал всё как у Макса
В папку prefabs
решил проблему?
Спасибо большое
Я пропустил, ты не оптимизировал её? Ну не уничтожаешь шестерёнки, когда они выходят за экран?
Они сами уничтожаются по заданному скрипту)
Спасибо автору за ролик. Есть просьба, вместо комментариев вот сюда или берем оттуда, проговаривать откуда и куда.
Что?
Привет, подскажи пожалуйста, создал спаунер по твоему скрипту, но у меня сразу появляется враг и спаунер делает еще одного, пытаюсь убрать врага со сцены, но и спаунер перестает создавать, Грубо говоря сразу с 0 сек начинает бежать два, потом 1 и потом согласно моему таймингу по 1
Надо варианты убрать за левую сторону камеры
Молодец!
Делаю игру я не знал механику targetpos решил посмотреть у тебя. Прикол в том что когда ты хочешь передвинуться и во время когда ты между дорожками ты можешь обратно на кнопку и он будет между дорожками что делать?
Если добавить 4 вариант шестеренок "одна по середине" это усложнит и разнообразит игру, т.к. придётся просчитывать ходы на 2-3 шага вперёд, чтоб не попадать в ловушки.
А нет, тогда придётся ставить запрет респауна 1 посередине посли двух по краям и наоборот соответственно. Тут уже в 5 минут не уложиться))
Годно.
А как решить проблему одновременного нажатия кнопок вверх и вниз? В этом случае объект вылетает за пределы maxHeight и minHeight
может просто Else поставить
или if просто
или я подумал что может создать 3 пустышки и перемещать к ним просто) но там чуть больше кода будет)
Нашел решение?
@@romangoncharov8448 по ходу нет, сделал просто при одновременном нажатии клавиш проигрыш ))
Интересно куда он уходит в конце видео🤔 может в туалет🙃
Большое человеческое спасибо, полезно, быстро, круто
ты все время даёшь мне идеи
Видео просто супер.
У меня к тебе просьба можешь сделать туториал как сделать игру с видом сбоку.
Мне для моей игры надо.
А в 3д, или в 2д?
@@michaelmichael8602 в 2д это игра будет неиграбельна)
Помогите пожалуйста. У меня создаются варианты а шестеренки нет
Решил проблему?
помогите пожалуйста, я хочу сделать 3 варианта этих шестирёнок, но у меня не копируется а дублируются эти варианты из за этого у меня их не 2 а 6, как нормально скопировать
У меня появилась идея создать игру по типу clone armies
Ребят можете скинуть код чот не получается прост
жаль , что раньше не посмотрел ето видео, а то я плавное перемещения вправо/влево делал через AddForse.
что надо прописывать в if если хочешь чтоб персонаж поднимался вверх при нажатия кнопки
функцию, которая стоит в if перемести в отдельный метод, например верх
public void OnUpButtonDown()
{
*тут функция*
}
потом создай на канвасе кнопку, добавь туда игрока, выбери скрипт player и укажи функцию
Ты заслуживаешь Около 1 млн-3.5 млн подписчиков! Но точно не 120к!
Maxter, если ты это видишь, мог бы ты пояснить как пофиксить баг с прохождением за макимальные заданные границы в игре, нигде не могу найти? Буду очень благодарен если ответишь
При частом кликанье клавиш вверх и вниз персонаж выходит за границы заданные в скрипте
@@snowyavor такая же фигня
@@DenverPictures Я уже пофиксил
@@snowyavor а каааааак?) Подскажите пожалуйста
@@DenverPictures Добавь задержку между нажатиями ;) подсказка
я всё правильно сделал, но шестерёнки (у меня квадраты) спавняться только в центре.
Я всё сделал.
Что сделать?
тот же вопрос
@Марк уже не помню, давно не занимаюсь этим проектом, но, вроде как, да.
@Марк немного не понял, как это "работаете в юнити хаб"?
может быть ты забыл скорость указать
лутший бро
Блин люди, а можете пожалуйста подсказать что мне делать, просто у меня не отображаются шестерёнки, хотя в консоли все работает и они выбраны
т.е в консоли пишет когда игра запущена; Variant 1 а шестеренки сами не показываются
вместо поинтов в variant 1 замени на шестеренки
Продвигаеееем
А вы знали что 7 минут, это 5 минут?
Ты когда нибудь программировал на движке "GODOT"?
Можно вопрос? Что делать если при запуске игры в первом ряду спавнятся сразу три шестирёнки?
Также, решил проблему?
Надо эти варианты просто убрать с камеры
Чел ты топ
Канал крут
3:20 (2)
Помагите пожожда. У меня если игрок получает урон игра становится на паузу (хп даже не отнимается), как это исправить??
ПОМОГИТЕ СРОЧНО ПОЖАЛУЙСТА , почему игра перезапускается если игрок только 1 раз касается шестиренки
хотя у игрока 5 хп а шерсеренка наносит 1 урон((
Как ты освоил скриптинг в юнити и где брать исходники, расскажи пожалуйста
помогите пожалуйста, у меня шестерёнки(точнее у меня квадраты) спавнятся, но не двигаются, в иерархии всё отображается и сбоку где спавнер всё тоже отображается. Например я запускаю проект, справа где спавнер появляется один из вариантов, потом через секунду спавнится ещё один вариант, накладывается на предыдущий, и так далее. Всё вроде как на видео, даже не знаю где может быть ошибка.
2:25 (1)
лайк и подписка
ауф
Не знаю почерму но при двойном нажатии на W или S он вже выходит за пределы
поставь ему хотябы предел в скрипте
@@pppva2667 у меня такая же проблема. Причем пределы верхней и нижней границы есть. При одиночном нажатии на клавиши все работает как часы, но при двойном - улетает за пределы и перемещается не на установленное в инспекторе расстояние
У меня на старте сразу появляется 3 "Шестерёнки" и при столкновении они не исчезают и урон тоже не наносят, я уже трижды пробежался по коду и вроде всё должно работать как надо((( Буду пробовать ещё и ещё раз
у тебя вышло исправить ошибку ?
@@ellsbraun неа
@@doswedooley5734 я вчера уже поняла в чем была ошибка
Удали Variants1, Variants2, Variants3 под Spawner-ом, главное variants в папке prefabs не трогай
а как решить если урон не наносят шестеренки?@@azamatfaizulaev6561
Блин. Где ты учился хочу так же научиться))
он просто серфил инет с 14 лет, постепенное саморазвитие-вот и всё
Я не знаю почему, но у меня не работает скрипт игрока, он вообще не перемещается по оси У
Почему когда я добавляю скрипт Player мне пишет (я класс проверил имя совпадает) перевод:Невозможно добавить компонент сценария Player, поскольку класс сценария не найден. Убедитесь, что здесь нет ошибок компиляции и что имя файла и имя класса совпадают. Почему пожалуйста ответьте.
У него текстуры названы по-своему, и у тебя по-другому, значит они не совпадают
У меня твои ролики дёргаются( Но Крутямбовые ролики!
Можешь делать туториалы по созданию музыки? Не, я понимаю, но, почему нет?
5:30
У меня не видно их на камере
Почему мне пишут ошибку в позиции 18,42 в скрипте Gear, и как ее исправить?
привет,я вот ищу годный материал для обучения ,но я хочу делать игры на андроид а 95% видео про комп(точнее управление с компа)как сделать такую игру с управлением с тлф?
1:25 1:56
странно что оригинальный автор не указан
Я такую игру могу в игре построить
Макс пожалуйста подскажи почему у меня появляется только 2 шестеренки а не как у тебя много?
Я: ты кто такой чтоб создавать такие игры
Maxter: я разработчик игр
Подпищики : Ооооооооооооооооо
Как сделать так что бы шестерёнки тоже постепенно ускорялись ?А то уже часа 2 сижу и никак не могу это сделат
Извини, но только время:
yield return new WaitForSeconds(время);
Я тоже сделал через время, у меня все работает как часы, а я делаю flappy bird
Помогите, пожалуйста, на 6:14 у меня показывает что список рандомов выходит за предел, что делать?
а как сделать управление для андроид??? тип там ток для пк или при запуске через Unity Remoute будет все норм? тип оно автоматически сделает на андроид?
Нет
Нужно по кнопкам делать
Посмотри туториал как делать управление для андроид на кнопках и подстрой под свою ситуацию
@@LeoKhol спасибо, я просто забыл что это сам нужно ставить)
Я вот запустил это всё оно всё идет и прохожу через всё а оно замедляет и вкучю собирается
Что делать если летит только одна шестерёнка, а остальные любо невидимые, либо их вообще нет???
ты else не туда поместил
посмотри в код спавнера
@@КупиОтдайМрнн else стоит правильно, я проверил
@@капибарслистиком проверь все >, < мб там ошибся, еще проверь, правильно ли ты сделал варианты
@@КупиОтдайМрнн хорошо
@@капибарслистиком ну че работает?
Пожалуйста помогите
Assets\Player.cs(18,43): error CS0019: Operator '
А как сделать управление на телефон?
вот такой скрипт игрока подходит
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
private Vector2 targetPos;
public float Yincrement;
public float speed;
public float maxHeight;
public float minHeight;
public int health = 5;
private void Update()
{
transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime);
}
public void OnUpButtonDown()
{
if (transform.position.y < maxHeight)
{
targetPos = new Vector2(transform.position.x, transform.position.y + Yincrement);
}
}
public void OnDownButtonDown()
{
if (transform.position.y > minHeight)
{
targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement);
}
}
}
потом на канвасе создаешь кнопку, в нее перетаскиваешь игрока, выбираешь скрипт player и выбираешь функцию