xxxxxxxxxx
117
// Promenljiva u kojoj se cuva cikica
let hero;
// Promeljiva u kojoj se cuva font
let font;
// Promenljiva u kojoj se cuva brzina
let brzina = 20;
// Funkcija koja se poziva jednom. U njoj se definisu osnovne stvari
function setup() {
// Crtanje platna preko celog prostora u brauzeru
createCanvas(window.innerWidth-15, window.innerHeight-15);
// Ucitavanje 8-bit fonta
font = loadFont("font/PressStart2P-Regular.ttf");
// Kreacija sprajta
hero = createSprite(width/2, height/2);
// Ucitavanje razlicitih verzija animacije za trcanje levo, desno, gore i dole, kao i za stajanje u mestu
hero.addAnimation('still',
'assets/nis01.png',
'assets/nis02.png',
'assets/nis03.png',
'assets/nis04.png',
'assets/nis05.png',
'assets/nis06.png',
'assets/nis07.png',
'assets/nis08.png');
hero.addAnimation('move',
'assets/ni01.png',
'assets/ni02.png',
'assets/ni03.png',
'assets/ni04.png',
'assets/ni05.png',
'assets/ni06.png',
'assets/ni07.png',
'assets/ni08.png');
hero.addAnimation('back',
'assets/nib01.png',
'assets/nib02.png',
'assets/nib03.png',
'assets/nib04.png',
'assets/nib05.png',
'assets/nib06.png',
'assets/nib07.png',
'assets/nib08.png');
hero.addAnimation('right',
'assets/nir01.png',
'assets/nir02.png',
'assets/nir03.png',
'assets/nir04.png',
'assets/nir05.png',
'assets/nir06.png',
'assets/nir07.png',
'assets/nir08.png');
// Postavljanje inicijalne animacije za stajanje u mestu
hero.changeAnimation('still');
}
//Funkcija koja se poziva puno puta u sekundi (zavisno of framerate-a)
function draw() {
// Postavlja se siva pozadina
background(212);
// Tekst
textSize(20);
fill(255);
noStroke();
textFont(font);
textAlign(CENTER);
text("Game Jam", width/2, 50);
textSize(11);
textLeading(20);
text("Uros Krcadinac & students\nFMK, Belgrade, 2023", width/2, height-60);
// U svakom frejmu, osnova brzina cikice je 0
hero.velocity.x = 0;
hero.velocity.y = 0;
// Brzina se menja shodno pritisnutom tasteru, kursorskoj strelici
if (keyIsDown(LEFT_ARROW)) {
hero.velocity.x = -brzina;
hero.changeAnimation('move');
}
if (keyIsDown(RIGHT_ARROW)) {
hero.velocity.x = brzina;
hero.changeAnimation('right');
}
if (keyIsDown(UP_ARROW)) {
hero.velocity.y = -brzina;
hero.changeAnimation('back');
}
if (keyIsDown(DOWN_ARROW)) {
hero.velocity.y = brzina;
hero.changeAnimation('move');
}
// Nakon sto se taster pusti, animacija se vraca na animaciju za stajanje u mestu
if (keyWentUp(DOWN_ARROW) || keyWentUp(UP_ARROW) || keyWentUp(LEFT_ARROW) || keyWentUp(RIGHT_ARROW)) {
hero.changeAnimation('still');
}
// Na kraju se sprajtovi iscrtaju
drawSprites();
}