Если вы заметили ошибки в тексте или у вас что-то не получается (не до конца понятна логика действий), можете задавать вопросы. Так же здесь принимаются пожелания по выбору темы для следующих статей в разделе разработки игр.
Отправлено: 19.04.15 19:07. Заголовок: Нет, опыта не было. ..
Нет, опыта не было. Но хорошо себе представляю как создать игровую механику любого жанра. А какая именно тактика? Ролевая тактика типа Final Fantasy? Стратегия-тактика типа Silent Storm или Valkyria Chronicles? Или какой-нибудь тактический экшен?
Отправлено: 20.04.15 18:41. Заголовок: Типа Fronti Mission,..
Типа Fronti Mission, Vanguard Bandits, FF Tactics, Disgaea. Вот пример: https://www.youtube.com/watch?v=R4TM5D1yksM Давненько не было ничего нового и крутого в играх такого жанра.
Не зарегистрирован
Зарегистрирован: 29.07.15
Репутация:
0
Отправлено: 29.07.15 12:37. Заголовок: lifetimer
сделал всё как указано в уроке( не заработало), тупо скопировал текст из урока( заработало, хоть и перепроверял раз 200 на наличие ошибок в коде, синтаксис и прочее).. хм..но не в этом суть. Lifetimer 2 секунды. И РОВНО СТОЛЬКО мой корабль может создавать объект лазер. После истечения времени выстрелы прекращаются и невозможно стрелять дальше. Ставишь на 5000( ну или чуть больше\меньше) стрелять можно столько сколько установил.Вопрос: а как сделать так,чтобы он стрелял столько , сколько нужно? то есть я нажал, значит выстрел, а не за время какое-то.
Отправлено: 29.07.15 14:00. Заголовок: Код написан на языке..
Код написан на языке «C#», в нём нужно учитывать регистр букв. Если где-то написано с маленькой буквы, а по смыслу должно быть с большой, то программа не запустится. Скорее всего, в этом проблема.
Строчка "public float lifetime = 2.0f" определяет, как долго существует лазер после появления. Если после истечения таймера отключаются вообще все лазеры, то это может быть из-за того, что объект «лазер» не был превращён в префаб. У префаба для каждой новой копии объекта будет своя переменная lifetime, и копии могут появляться в любой момент. А так, видимо, получается, что объект всего один, он исчезает через две секунды, и стрелять больше нечем.
Или префаб вообще не создан, или вместо префаба к объекту «корабль» ошибочно привязан единичный объект «лазер».
Отправлено: 14.09.15 18:00. Заголовок: В 4-ой строчке не до..
В 4-ой строчке не должно быть символов " nbsp; ". Они случайно попали туда из разметки страницы на сайте. В этой строчке должна быть только одна открывающая скобка "{". Больше ошибок не вижу. Если не помогает, напишите, в какой именно строчке показывает ошибки. (Надо будет добавить главу о том, как пользоваться дебаг-сообщениями, и как устранять ошибки).
Отправлено: 14.10.15 09:52. Заголовок: Так же не могу разоб..
Не могу разобраться как выводить текст из переменной на новый GUI
upd: разобрался
using UnityEngine.UI;
public class GameContoller : MonoBehaviour { private int score = 0; GameObject scoreCounter; Text scoreText;
void Start () { //Находим объект scoreCounter = GameObject.Find("scoreCounter"); //Получаем компонент Text из этого объекта scoreText = scoreCounter.GetComponent<Text>();
}
//Подсчет очков public void IncreaseScore(int increase) { score += increase; scoreText.text = "Score: " + score; } }
Странно. Логически всё правильно. Возможно эта ошибка из-за преждевременного сохранения текста скрипта. Вначале нужно прицепить скрипт к обьекту "enemy", а уже потом делать сохранение этого скрипта. "transform.position" - это координаты объекта, к которому прикреплен скрипт. До прицепления эта переменная ничего не значит, а после - она как бы означает "enemy.transform.position".
Не зарегистрирован
Зарегистрирован: 13.12.15
Репутация:
0
Отправлено: 13.12.15 15:16. Заголовок: public class MoveTow..
public class MoveTowardsPlayer : MonoBehaviour { // Переменная для координат объекта player private Transform player;
// Скорость движения врага public float speed = 1.5f;
// Use this for initialization void Start () { player = GameObject.Find("playerShip").transform; }
// Update is called once per frame void Update () { Vector3 delta = player.position – transform.position;-подчеркивается красным delta.Normalize(); float moveSpeed = speed * Time.deltaTime; transform.position = transform.position + (delta * moveSpeed); } } Скрипт не работает пишет, что недопустимый символ player.position !!–!!! transform.position. Ставлю минус, а потом не даигается противник. с твоим символом не запускается game mode
Не зарегистрирован
Зарегистрирован: 14.01.16
Репутация:
0
Отправлено: 14.01.16 02:40. Заголовок: Лучшая статья
Огромное Спасибо за статью! Правда в последний момент у меня что-то пошло не так. Фон куда-то пропал и игра не получилась. Наверно что-то не так было нажато. Уже завтра посмотрю. Но так подробно на эту тему не объяснял никто!
Отправлено: 14.02.16 19:21. Заголовок: Спасибо за данные ст..
Спасибо за данные статьи! Не могли бы вы подсказать или как-то объяснить в следующих уроках, как сделать игру жанра survival (для тех, кто в танке: выживание)? Заранее от всей души вас благодарю! И отправьте на мой email подробные этапы создания такого рода игры, пожалуйста! Email: DKolpakov2014@yandex.ru
Отправлено: 26.02.16 23:24. Заголовок: Добрый день, большое..
Добрый день, большое спасибо за урок, это самый лучший, подробный, и понятный урок из всех что я пересмотрел, но есть пара моментов. 1) Не рассказали как сделать ХП игрока и его уменьшение при столкновениях с врагами, смерть игрока и рестартер. 2) Нет ограничения игрового пространства (игрок улетает за экран) очень важный момент. 3) У меня в принципе всё получилось, только зачисление очков происходит не за убитых врагов, а за попадание по ним и мало того за столкновение с ними, также за столкновение врагов друг с другом начисляются очки.
Подскажите пожалуйста, когда я доделал первую часть простейшей игры (где получается летающий на фоне корабль), он не следует за курсором а всегда повёрнут в центр экрана. Почему? Кнопки работают нормально.
Здравствуйте. Столкнулся с такой проблемой. Код идентичен коду из урока. У меня выдаёт ошибку. В написании скриптов на C# я ещё новичок. Помогите решить проблему, пожалуйста :) Мой код скрипта: Скрытый текст
using UnityEngine; using System.Collections.Generic;
public class playerScript : MonoBehaviour {
public float playerSpeed = 2.0f; // Изменения скорости public float currentSpeed = 0.0f; // Текущая скорость
// Назначаем кнопки для перемещения public List<KeyCode> upButton; public List<KeyCode> downButton; public List<KeyCode> leftButton; public List<KeyCode> rightButton;
private Vector3 lastMovement = new Vector3(); // Сохраняем последнее перемещение
// Update is called once per frame void Update () {
Отправлено: 23.03.16 12:43. Заголовок: Здравствуйте! Решил ..
Здравствуйте! Решил освоить Unity, так что пока еще в этом новичок )
По данному уроку все сделал и все работает, спасибо большое! Но, единственное, когда удерживается клавиша движения, не двигается курсор. В чем может быть проблема? Заранее большое спасибо! )
Отправлено: 30.04.16 21:02. Заголовок: У меня некоторые сло..
У меня некоторые сложности возникли. Input.mousePosition всегда дает одинаковые координаты. поэтому кораблик поворачивается только к одной точке, но не к мыши. Не подскажите, в чем может быть проблема ? Урок отличный )
Скопировала ваш код в скрипте «EnemyScript» и «GameController», но все равно запускается только первая волна. Выдает ошибку NullReferenceException: Object reference not set to an instance of an object Enemy.OnCollisionEnter2D (UnityEngine.Collision2D theCollision).
Отправлено: 14.06.17 16:38. Заголовок: Мало скопировать код..
Мало скопировать код, нужно ещё создать связи между объектами. Нужно просмотреть свойства всех объектов, где остались пустые поля. Скорее всего, нужно к объекту GameController подключить одноименный скрипт GameController или объект enemy.
Не зарегистрирован
Зарегистрирован: 22.06.17
Репутация:
0
Отправлено: 22.06.17 16:32. Заголовок: Ничего не вышло. 1 ..
Ничего не вышло. 1 gimp при сохранении сохраняет в своем формате и юнити его не видит надо экспортировать 2 даже после этого кнопка apple не активна 3 текстуру для материала и выбирал и таскал но она не выбирается 4 в зоне иерархии не было объекта background и вообще интерфейс у меня отличается от вашего
Отправлено: 10.10.17 14:35. Заголовок: у меня такая проблем..
у меня такая проблема - как бы ни старался , корабли противника влетают в меня. Коллайдеры везде есть , так же , как и написано в уроке. И еще одна - не уничтожаются противники. коды проверял, все должно было бы работать. using System.Collections; using System.Collections.Generic; using UnityEngine;
Отличная статья! Все работает без проблем. Исправил только в одном месте "тире" на "минус", в скрипте MoveTowardsPlayer, в строке: Vector3 delta = player.position - transform.position; Имею опыт по работе с DirectX(9.0) и с++. Так по трудоемкости, конечно, не сравнить.
Отправлено: 13.02.20 14:26. Заголовок: Добрый день осваиваю..
Добрый день осваиваю юнити собрал вашу игру все запустилось огромная благодарность! Но есть некоторые вопросы: 1.Я пишу на макбуке версия юнити от 2019 г. При вводе в сцену компонента GUI Text для счетчика юнити ругается-старый тип компонента не поддерживается в релизе, в game текст не выводится.Пришлось создать компонент MeshText вместо GUIText и соответственно в коде исправить переменную,тогда появился текст счетчиков правда корявый и плохо редактируется.Дальше все как у вас описано, счетчики работают. 2.Собрал игру для Мас, сохранил.При запуске на компе игра идет во весь экран и не могу ее остановить и выйти, клавиша esc не срабатывает.Как посоветуете остановить игру?
Все даты в формате GMT
3 час. Хитов сегодня: 92
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет