JAVA I PROCESSING - UVOD
Processing je okruženje koje je napravljeno kao dodatak za programiranje animacija kao i vizuelnih aplikacija, sa dobrom i lakom interakcijom sa korisnikom.
Pisan je u Javi i može se tretirati kao dodatak koji sadrži podršku tj. API sa funkcijama za kreiranje animacija i vizuelnih aplikacija. Zasniva se na pisanju nacrta-skice(skatch).
Processing je open source.
Ima svoje okruženje PDE(Processing Development Environment) za rad gde se može birati jezik u kome će se pisati kod. Može se i povezati sa Eclipse IDE ili nekim drugim razvojnim alatom za javu(IDE), tako što se biblioteke(library) koje sadrže processing dodaju u postojeće Javine biblioteke. U trenutku pisanja tutorijala koristi se Processing 4
API se sastoji od nekoliko biblioteka koje pored osnovnih funkcija podržavaju: slanje podatataka preko mreže, čitanje slika sa kamere, čuvanje slika u pdf formatu.
Pisan je u Javi i može se tretirati kao dodatak koji sadrži podršku tj. API sa funkcijama za kreiranje animacija i vizuelnih aplikacija. Zasniva se na pisanju nacrta-skice(skatch).
Processing je open source.
Ima svoje okruženje PDE(Processing Development Environment) za rad gde se može birati jezik u kome će se pisati kod. Može se i povezati sa Eclipse IDE ili nekim drugim razvojnim alatom za javu(IDE), tako što se biblioteke(library) koje sadrže processing dodaju u postojeće Javine biblioteke. U trenutku pisanja tutorijala koristi se Processing 4
API se sastoji od nekoliko biblioteka koje pored osnovnih funkcija podržavaju: slanje podatataka preko mreže, čitanje slika sa kamere, čuvanje slika u pdf formatu.
Instalacija processing-a
Okruženje PDE-a
Pokrenite processing 4 dvoklikom na iconicu i startovaće se sledeće okruženje:
Ukoliko ste početnik možete odabrati neki od ponuđenih primera, a zatim transformisati postojeći kod ili pokrenuti aplikaciju od početka. Da bi ste programirali u processingu potrebno je prethodno osnovno znanje JAVA programskog jezika ili nekog od podržanih: javascript, python itd. Ovaj tutorijal se zasniva na Java programski jezik.
Organizacija koda u processing-u
Fajlovi u kojima se piše kod su zapravo sketch-evi i oni se smeštaju u folder koji se naziva sketckbook. Ovaj folder se može promeniti pomoću PDE-a klikom na
File->Sketchbook
To se može videti na sledećoj slici:
File->Sketchbook
To se može videti na sledećoj slici:
Eksportovanje aplikacije se može ostvariti klikom na
File-: Export Application
File-: Export Application
Od Jave do Processing-a
Ako ste upoznati sa programiranjem u JAVI, osnovama, kao i osnovama objektno orijentisanog programiranja: klasama objektima, nasleđivanjem itd. onda bi uz pretpostavku da su dodate potrebne biblioteke za processing, kod u Eclipse IDE okruženju izgledao npr kao na sledećoj slici:
Na početku glavne klase, da bi ste programirali u processing-u treba importovati osnovnu biblioteku:
import processing.core.*;
Ovo je samo osnovna biblioteka, a po potrebi treba dodati i specifične.
Dakle, početna klasa mora da nasledi PApplet klasu. Takođe treba uočiti prepravljene metode iz PApplet klase: settigs, setup ( na slici 3) i draw(vidi sliku 4).
Dakle, početna klasa mora da nasledi PApplet klasu. Takođe treba uočiti prepravljene metode iz PApplet klase: settigs, setup ( na slici 3) i draw(vidi sliku 4).
U navigatoru sa desne strane se vide naslovi ovih metoda i klikom na naslov pozicionira se kursor na odgovarajuću metodu.
Kodiranje sketch-a u PDE okruženju se razlikuje jer je u pozadini već urađeno importovanje osnovnih biblioteka, napisana naslovna linija glavne klase i ubačene metode setup i draw za prepravljanje(overriding engl.),
Dakle nije potrebno pisati: „class Glavna“ npr. i nije potrebno pisati „import processing.core.*;“.(vidi sliku 2).
Kodiranje sketch-a u PDE okruženju se razlikuje jer je u pozadini već urađeno importovanje osnovnih biblioteka, napisana naslovna linija glavne klase i ubačene metode setup i draw za prepravljanje(overriding engl.),
Dakle nije potrebno pisati: „class Glavna“ npr. i nije potrebno pisati „import processing.core.*;“.(vidi sliku 2).
Metode: settings, setup, draw iz PApplet klase
S obzirom da se animacije dobijaju tako što se prvo kreiraju objekti i inicijalizuju na početno stanje, a zatim se stanje objekata menja kroz Frame-ove na određeni vremenski interval npr. 0,05 sek, potrebne su metode koje s jedne strane vrše kreiranje objekata u početnom stanju i pozivaju se samo na početku pokretanja aplikacije i sa druge strane metoda koja vrši promene ovih stanja i poziva se periodično u skladu sa definisanim vremenskim intervalom(0,05 sek u primeru).
Metode settings i setup spadaju u ove prve kojima definišemo početno stanje i pozivaju se samo jednom, dok metoda draw se poziva na svakih dt sekundi.
Ova metoda brine o potrebnim promenama stanja objekata ili promenljivih, a takođe i o iscrtavanju ovih objekata na ekran.
primer na slikama pokazuje kretanje loptica, nasumično određenih i može se uočiti da se pomenute metode ovde koriste za sledeće:
Ova metoda brine o potrebnim promenama stanja objekata ili promenljivih, a takođe i o iscrtavanju ovih objekata na ekran.
primer na slikama pokazuje kretanje loptica, nasumično određenih i može se uočiti da se pomenute metode ovde koriste za sledeće:
- settings: Postavlja veličinu prikaza na full Screen
- setup: Kreira niz loptice po slučajnom principu
- draw: Vrši se pomeranje i iscrtavanje loptica
Program u PDE okruženju
Isti ovaj primer u upotrebom u PDE okruženju bi smestili unutar novog scatch-a. Kad se otvori nov scatch preimenovaćemo ga u npr. BouncesGame(vidi sliku). Primer pokazuje kako da se simullra haotično kretanje loptica u processing-u.
Ovde treba ukucati kod koji pripada glavnoj klasi koja će se zvati „BouncesGame“ i posle pokretanja kreiraće se folder pod istim imenom:
Početna klasa se nešto razlikuje od početne klase koja je razvijena u Eclipse IDE okruženju:
Ovde sada nema naslova klase, importa osnovne biblioteke, već postoji deklaracija promenljivih i metode settings, setup i draw isto kao i u Eclipse varijanti.
Druga klasa koja opisuje lopticu(Bounce) se neće razlikovati od pisanja u Eclipse IDE okruženju što se može vidti na sledećoj slici:
Druga klasa koja opisuje lopticu(Bounce) se neće razlikovati od pisanja u Eclipse IDE okruženju što se može vidti na sledećoj slici:
Posle pokretanja videće se haotično kretanje loptica na ekranu:
Prethodno
|< Java i simulacije u fizici |
Sledeće
Osnove processinga sa Javom >| |