воскресенье, 3 февраля 2019 г.

Заинтересовался Godot.

   Скачал на предмет посмотреть - пощупать. Что можно сказать - 3D я пока особо не трогал, все же изучать лучше начинать с простого, тем более что в самоучителе на их сайте показывают работу на примере двухмерных игр. Что подкупает - встроенный прямо в редактор справочник по API и готовые элементы управления, вроде кнопок и прогресс баров. Ну и конечно Питон-подобный язык скриптов под названием GDScript. Отличия конечно есть, но по большей части то же самое. Если интересно, то можно зайти в ютубе на канал ScanerSoft, там есть хорошего качества уроки и довольно подробные. Ссылка, если что.
  
В общем, поигравшись с Godot, и немножко с ним разобравшись, решил вспомнить молодость и сделать приложение - часы. Давным-давно, когда я только начинал вникать в азы программирования, я делал свой аналог виджета часов на рабочий стол еще на VisualBasic 6.0. Или уже на VB.Net? Не помню. НО помню, что возился тогда долго, знаний не было, спросить тоже было не у кого. Вот, решил сейчас повторить подвиг, скачал текстуры циферблата и стрелок и за пару часов сделал. Картинка:


Скопипастю код функции, управляющей движением стрелок:
 
func _process(delta):

    var currTime = OS.get_time()
   
    var currSecond = currTime['second']
    var secondHand = self.get_node("Second_hand")
    secondHand.rotation_degrees = currSecond * 6
   
    var currMinute = currTime['minute']
    var minuteHand = self.get_node("Minute_hand")
    minuteHand.rotation_degrees = currMinute * 6 + currSecond * 0.1
   
   
    var currHour = 0
    if currTime['hour'] >= 12:
        currHour = currTime['hour'] - 12
    else:
        currHour = currTime['hour']
    var hourHand = self.get_node("Hour_hand")
    hourHand.rotation_degrees = currHour * 30 + currMinute * 0.5
 

Комментариев нет:

Отправить комментарий