|
Izdelava ure v Scratch-u
|
Izdelava ure v Scratch
Za kazalce bomo uporabili slikice iz galerije, lahko pa uporabimo tudi daljice različnih dolžin ali pa pikice. Dodamo znak za zagon ob pritisku na zastavico. Vsem kazalcem moramo nastaviti, kako se naj obnašajo. Za to jim nastavimo smer vrtenja na "all around (vse okoli)", ter pozicijo sredine kazalca x na 0 in y na 0. V oblikovanju slike poskrbimo za zadosten odmik glede na sredino, ure nekoliko manj kot sekunde in minute. S tem smo pripravili izris kazalca. To naredimo za VSE kazalce.
Izdelava ure v Scratch-u
Branje podatkov Podatke o dejanski uri bere Scratch iz sistemske ure. Branje lahko nastavimo lahko direktno ali pa ustvarimo spremenljiovko (na primer za ure spremenljivka "ure"). V našem primeru ustvarimo spremenljivko "ura" pod orodjem "Data" ter dodelimo branje sistemske ure pod "Sensing" in "curent", kjer izberemo za ure "hour".
Uporaba podtakov Podatke shranjene v spremenljivki uporabimo pri določanju smeri kazalca. Odvisno kako je osnovna slikica obrnjena je treba prirediti začetno vrednost. V našem primeru je zaradi osnovne slikice 90 (stopinj).
Izdelava ure v Scratch-u
Ura je do sedaj prebrala samo kako naj trenutno postavi kazalec. Za delovanje pa potrebujemo redno spremembo postavitve kazalcev. To dosežemo s ponavljanjem branja podatkov in izrisovanjem. Temu pravimo zanka. V našem primeru je uporabljena neskončna zanka.
Izdelava ure v Scratch-u
Za minutni in sekundni kazalec moramo vzeti novo sliko iz albuma ter za vsakega posebaj sestavimo ukaze, kot za urni kazalec, pri čemer skrbimo, da priredimo spremenljivko in branje podatkov s sistemske ure.
Izdelava ure v Python-u
|
Izdelava ure v Python-u
V Scatch-u imamo okolje pripravljeno z zagonom programa. V pythonu moramo najprej naložiti knjižnice iz katerih bomo uporabljali finkcije. Prikličemo jih z ukazom:
Določiti moramo kje se bo izrisovala ura z ukazi:
Izdelava ure v Pythonu-u
Podatke o dejanski uri bere Python iz sistemske ure. Podatke sistemske ure shranimo v spremenljivko cas = time.localtime(), ki shrani uro v obliki zaporednih vrednosti (tm_year=2014, tm_mon=1, tm_mday=11, tm_hour=1, tm_min=1, tm_sec=1, tm_wday=1, tm_yday=1, tm_isdst=1) ter pretvorimo prebrano v niz in shranimo v spremenljivko "nizcas" nizcas = list (cas).
Določiti moramo za vsako spremenljivko branje iz določenega dela podatkov (nizcas). Za ure uporabimo branje na četrtem mestu in ustvarimo spremenljivko ure ure = nizcas[3]. Pri branju je potrebno biti pozoren, saj se zaporedje podatkov v nizcas steje od 0.
Izdelava ure v Pythonu-u
Podatke shranjene v spremenljivki uporabimo pri določanju smeri kazalca in njegovo vrtenje (končno točko daljice, ji predstavlja uro).
urX = 100+100*math.sin(6*ure*5*math.pi/180)*0.60
urY = 100-100*math.cos(6*ure*5*math.pi/180)*0.60
(s koeficientom 0,6 se skrajša dolžino urinega kazalca)Izris urinega kazalca pa naredimo kot izris daljice
platno.create_line(100,100,urX,urY,width=3, fill="blue")
Izdelava ure v Pythonu-u
Ura je do sedaj prebrala samo kako naj trenutno postavi kazalec. Za delovanje pa potrebujemo redno spremembo postavitve kazalcev. To dosežemo s ponavljanjem branja podatkov in izrisovanjem. Celotno branje in izrisovanje kazalcev bomo klicali s funkcijo, ki jo bomo neskončnokrat klicali.
Funkcijo ustvarimo s
ter podrejeno vpišemo ukaze za branje časa ter spremenljivke in izrisovanje kazalca vanjo. V funkciji tudi določimo na koliko časa naj ponovno izriše uro z ukazom:
Ceoten zapis funkcije za izpis ure bi izgledal tako:
V samem programu moramo še nastaviti klicanje funkcije s:
Na koncu dodamo še neskončno zanko za izrisovanje:
Za minutni in urni kazalec moramo prav tako dodeliti spremenljivke ter izris ter vstaviti funkcijo.
Izdelava ure v Pythonu-u