Как создать часы в Unity 5

Часы в Unity Уроки

Иногда, при создании проекта, есть необходимость в создании часов. Например, в игре есть потребность в часах, от значения которых будут зависеть некоторые другие параметры, которые будут влиять на игровую сцену или на самого персонажа.

В этой статье мы попробуем реализовать часы двух видов:

  1.  часы, которые отображают реальное время
  2.  часы, которые отображают вымышленное время.

Давайте начнем , запустим Unity и для начала настроим сцену.  Добавим на сцену компонент Canvas и в нем Panel с тремя элементами Text для отображения часов: часы, минуты, секунды. Должно, получится примерно как на скриншоте…

canvas

Далее создадим скрипт ClockReality и напишем такой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;

public class ClockReality : MonoBehaviour {

float secondsNew = 60f, minutesNew = 60f, hoursNew = 12f;
public Text second;
public Text minutes;
public Text hours;

void Update () {

DateTime time = DateTime.Now;
second.text = ""+(time.Second * (60f / secondsNew));
minutes.text = "" + (time.Minute * (60f / minutesNew)) + "  :";
hours.text = "" + (time.Hour * (12f / hoursNew)) + "  :";
  }
}

Здесь все предельно просто, поместим это скрипт на компонент Panel и укажем наши Text (Часы, минуты, секунды)

RealityClock

Это был первый метод создания часов реального времени. Возможно, вы скажете, а почему не сделать один компонент Text и не запихать все туда? Разделение на часы, секунды, и минуты даст возможность обращения к ним из других скриптов, например, если вы захотите сделать какой-нибудь параметр, который будет зависеть от текущего времени.

Второй метод создания «врущих» часов не сложнее. Продублируем нашу панель с компонентами Text и разместим чуть ниже.

newclock

Создадим новый скрипт NewClock и напишем такой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;

public class NewClock : MonoBehaviour {

public Text second;
public Text minutes;
public Text hours;
public float param;
public float second1;
public float minuta1;
public float hours1;

Видео:Unity - Лучший курс | С Нуля до Junior за ОДНО видеоСкачать

Unity - Лучший курс | С Нуля до Junior за ОДНО видео
void Update () { param -= Time.deltaTime; if (param <= 0) { param = 1; second1 = second1 + 1; } if (second1 >= 60) { minuta1 = minuta1 + 1; second1 = 0; } if (minuta1 >= 60) { hours1 = hours1 + 1; minuta1 = 0; } if (hours1 > 23) { hours1 = 0; } second.text = "" + second1; minutes.text = "" + minuta1 + "  :"; hours.text = "" + hours1 + "  :"; } }

Здесь тоже ничего сложного, значение param уменьшается с каждой секундой и когда оно равно нулю, прибавляем одну секунду, а за ней и минуты и часы. Если необходимо замедлить или ускорить часы, просто изменим значение param=1 на другое (чем меньше, тем часы будут работать быстрее). Помещаем этот скрипт на вторую панель и так же, указываем три Text для часов.

Newclocksprew

После небольшой обработки сцены можно получить вот такие разные часы…

clok

На этом все, ждем ваших комментариев, предложений или изменений по данной статье, удачных проектов!

🌟 Видео

Как создать свою игру,создание часов,time Unity,канал ИгростройСкачать

Как создать свою игру,создание часов,time Unity,канал Игрострой

СОЗДАЮ ИГРУ НА АНДРОИД ЗА 48 ЧАСОВ, ЗАЛИВАЮ В GOOGLE PLAY | Unity Ads 2D AndroidСкачать

СОЗДАЮ ИГРУ НА АНДРОИД ЗА 48 ЧАСОВ, ЗАЛИВАЮ В GOOGLE PLAY | Unity Ads 2D Android

Я сделал игру за 5 часов на unityСкачать

Я сделал игру за 5 часов на unity

Учим Unity за 1 час! #От ПрофессионалаСкачать

Учим Unity за 1 час! #От Профессионала

Создаю 3 игры на Unity за 1,5 часа/ час / полчасаСкачать

Создаю 3 игры на Unity за 1,5 часа/ час / полчаса

Таймер - Unity легкоСкачать

Таймер - Unity легко

ОБНОВЛЯЮ ИГРУ ЗА 48 ЧАСОВ || Unity 2D Создание Игр На АндроидСкачать

ОБНОВЛЯЮ ИГРУ ЗА 48 ЧАСОВ || Unity 2D Создание Игр На Андроид

Научу создать игру на Unity за 5 минут!!! | GamicleСкачать

Научу создать игру на Unity за 5 минут!!! | Gamicle

КАК СОЗДАТЬ ИГРУ НА UNITY ЗА 20 МИНУТ ? | Gamicle | Unity 3D C# Уроки Создание ИгрСкачать

КАК СОЗДАТЬ ИГРУ НА UNITY ЗА 20 МИНУТ ? | Gamicle | Unity 3D C# Уроки Создание Игр

Сделал авиасимулятор за 10 часов | UnityСкачать

Сделал авиасимулятор за 10 часов | Unity

Unity для новичков за 20 минут | Gamicle #unity #gamedev #gamicleСкачать

Unity для новичков за 20 минут | Gamicle #unity #gamedev #gamicle

[UNITY ASSET] CLOCK. REAL TIME | ЧАСЫ. ТЕКУЩЕЕ ВРЕМЯСкачать

[UNITY ASSET] CLOCK. REAL TIME | ЧАСЫ. ТЕКУЩЕЕ ВРЕМЯ

Сделал игру на юнитиСкачать

Сделал игру на юнити

КАК СОЗДАТЬ ИГРУ ЗА 5 МИНУТ? / Unity Создание ИгрСкачать

КАК СОЗДАТЬ ИГРУ ЗА 5 МИНУТ? / Unity Создание Игр

Я сделал Майнкрафт за 48 часов без опыта разработки игрСкачать

Я сделал Майнкрафт за 48 часов без опыта разработки игр

12 часов в день ради собственной игры [Devlog]Скачать

12 часов в день ради собственной игры [Devlog]

Сделал Игру за ОДИН День (12 часов) на UnityСкачать

Сделал Игру за ОДИН День (12 часов) на Unity

Сделал ИГРУ ЗА 1 ЧАС на UnityСкачать

Сделал ИГРУ ЗА 1 ЧАС на Unity

Как Создать Свою Игру на Unity? Урок - 1 | GamicleСкачать

Как Создать Свою Игру на Unity? Урок - 1 | Gamicle
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.