-
Notifications
You must be signed in to change notification settings - Fork 0
/
sketch.js
97 lines (80 loc) · 2.35 KB
/
sketch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
let imagemCenario
let imagemGameOver
let imagemPersonagem
let imagemInimigo
let imagemInimigoGrande
let imagemInimigoVoador
let somJogo
let somPulo
let config
let cenaJogo
let cenaAbertura
let cenaAtual = "inicial"
let cenas
function preload() {
imagemAbertura = loadImage("assets/telaInicial.png")
imagemCenario = loadImage("assets/floresta.png")
imagemGameOver = loadImage("assets/game-over.png")
imagemPersonagem = loadImage("assets/correndo.png")
imagemInimigo = loadImage("assets/gotinha.png")
imagemInimigoGrande = loadImage("assets/troll.png")
imagemInimigoVoador = loadImage("assets/gotinha-voadora.png")
imagemVida = loadImage("assets/coracao.png")
somJogo = loadSound("assets/trilha_jogo.mp3")
somPulo = loadSound("assets/somPulo.mp3")
config = loadJSON("config.json")
fonteTelaInicial = loadFont("assets/fonteTelaInicial.otf")
}
function keyPressed() {
cenaJogo.keyPressed()
}
function setup() {
const largura = windowWidth > 1366 ? 1366 : windowWidth
const altura = Math.floor((9 / 16) * largura)
createCanvas(largura, altura)
console.log("🚀 ~ largura, altura", largura, altura)
const cenarioInfo = {
imagem: imagemCenario,
velocidade: 2,
largura: largura,
altura: altura,
}
const aberturaInfo = {
imagem: imagemAbertura,
fonte: fonteTelaInicial,
largura: largura,
altura: altura,
}
const personagemInfo = {
linhas: 4,
colunas: 4,
imagem: imagemPersonagem,
x: 0,
y: 30,
largura: 110,
altura: 135,
larguraSprite: 220,
alturaSprite: 270,
som: somPulo,
}
const vidasInfo = {
imagem: imagemVida,
maxima: config.vidas.maxima,
inicial: config.vidas.inicial,
}
cenaJogo = new Jogo(cenarioInfo, personagemInfo, vidasInfo)
cenaJogo.setup()
cenaJogo.adicionaInimigo(4, 7, imagemInimigo, width, 30, 52, 52, 104, 104)
cenaJogo.adicionaInimigo(5, 6, imagemInimigoGrande, width, -25, 380, 380, 400, 400, 28)
cenaJogo.adicionaInimigo(3, 6, imagemInimigoVoador, width, 200, 100, 75, 200, 150, 16)
cenaAbertura = new Abertura(aberturaInfo)
cenas = {
jogo: cenaJogo,
inicial: cenaAbertura,
}
frameRate(40)
somJogo.loop()
}
function draw() {
cenas[cenaAtual].draw()
}