-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
120 lines (92 loc) · 3.47 KB
/
main.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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import Spritesheet from './sprite/Spritesheet.js';
import Personagem from './cena/Personagem.js'
import GerenciadorAnimacao from './animacao/GerenciadorAnimacao.js';
import GerenciadorCena from './cena/GerenciadorCena.js';
import Cenario from './cenario/Cenario.js';
import GameView from './GameView.js';
import Game from './Game.js';
import CenaBuilder from './cena/CenaBuilder.js';
// Setar contexto 2d do canvas
const canvas = document.querySelector('canvas');
const ctx = canvas.getContext('2d');
// Criar jogo com o contexto do canvas
const game = new Game(ctx);
// Criar Palco
const cena = new CenaBuilder(game.gerenciadorCenarios, game.armazenamento)
.criarCenario(1)
.then(cenaComCenario => {
return cenaComCenario
.criarJogador('jog')
.criarObjeto('obj')
.criarObjeto('asdasd')
.definirId('1')
.pegarCena()
});
/*
// Criar cena
const cena = game.gerenciadorCenas.criarCena('lvl1');
// Criar objetos da cena
cena.adicionarObjetos(new Personagem('1', Personagem.JOGADOR));
// Criar cenário da cena
this.gerenciadorCenarios.criarCenario(1)
.then((res) => cena.cenario = res);
*/
// Criar Animação
// Criar spritesheet
// Criar spriteGroup
// Criar animação
// Reproduzir animação no objeto
// game.view.reproduzirAnimacao()
/*
let db;
let request = indexedDB.open("TestDB");
request.onerror = (ev) => console.log('deu ruim');
request.onsuccess = (ev) => {
console.log('foi');
db = ev.target.result;
console.log(db)
}
let pessoas = [{nomeMeu: 'José'}, {nomeMeu: 'Ricardo'}, {nomeMeu: 'Maria'}];
request.onupgradeneeded = (ev) => {
let db = ev.target.result;
let objStore = db.createObjectStore('nome',{keyPath: 'nomeMeu'});
objStore.transaction.oncomplete = (ev) => {
let pessoasObjStore = db.transaction('nome', 'readwrite').objectStore('nome');
pessoas.forEach(pessoa => {
pessoasObjStore.add(pessoa);
});
console.log(db);
}
}
let req = indexedDB.open("TestDB");
req.onsuccess = (ev) => {
let db = ev.target.result;
let transaction = db.transaction(['nome']);
let objStore = transaction.objectStore('nome');
let req = objStore.get('José');
req.onerror = (ev) => console.log('não foi');
req.onsuccess = (ev) => {
document.writeln(req.result.nomeMeu)
}
}
*/
/*
let request = indexedDB.deleteDatabase("TestDB");
request.onsuccess = (ev) => console.log('foi')
*/
/*
// Criar um gerenciador de cena e uma cena com um objeto
// Cria gerenciadores
const gerenciadorCenas = new GerenciadorCena(ctx);
const gerenciadorAnimacoes = new GerenciadorAnimacao(ctx, gerenciadorCenas);
const fase1 = gerenciadorCenas.criarCena('fase01',[]);
fase1.adicionarObjetos(new Personagem('mario',0,0,16,31));
fase1.mudarCenario(new Cenario('fase1','./images.png'));
// Um gerenciador de animação só pode pegar objetos pertencentes à cena atual
// Criar um personagem com uma animação de um spritesheet
const spritesheet = new Spritesheet(320,300,'./spritesheets/images.png');
const spritesAndar = spritesheet.criarSprites(12,30,16,31,3);
gerenciadorAnimacoes.criar('mario-andar', spritesAndar, 'mario');
const gameView = new GameView(ctx, gerenciadorCenas, gerenciadorAnimacoes);
gameView.renderizar();
*/