Ajout du diagramme de classe V1
continuous-integration/drone/push Build is failing Details

pull/39/head
flavien ANDRE 2 years ago
parent 95a2025454
commit 255b99d738

File diff suppressed because it is too large Load Diff

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

Binary file not shown.

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

@ -0,0 +1,8 @@
{
"ExpandedNodes": [
"",
"\\js"
],
"SelectedNode": "\\js\\KeyboardState.js",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

Binary file not shown.

@ -6,6 +6,7 @@ export default class Entity {
this.vel = new Vec2(0, 0);
this.size = new Vec2(0, 0);
//Liste des caractérisques
this.traits = [];
}

@ -3,10 +3,10 @@ const RELEASED = 0;
export default class KeyboardState {
constructor() {
// Holds the current state of a given key
// Garde l'état d'une key
this.keyStates = new Map();
// Holds the callback functions for a key code
// Contient les fonctions de rappel d'une key
this.keyMap = new Map();
}
@ -18,10 +18,11 @@ export default class KeyboardState {
const {code} = event;
if (!this.keyMap.has(code)) {
// Did not have key mapped.
// Si le Keycode est inconnue
return;
}
//Priorise l'event d'input
event.preventDefault();
const keyState = event.type === 'keydown' ? PRESSED : RELEASED;

@ -7,11 +7,15 @@ export function createPlayer() {
return loadPersoSprite()
.then(sprite => {
const player = new Entity();
player.size.set(14, 16);
player.size.set(14, 16); //Definie la taille
//Ajoute des caractéristiques
player.addTrait(new Go());
player.addTrait(new Jump());
//Dessine la sprite 'idle' du joueur dans le context
player.draw = function drawPlayer(context) {
sprite.draw('idle', context, 0,0);
}

@ -3,6 +3,8 @@ import Keyboard from './KeyboardState.js';
export function setupKeyboard(entity) {
const input = new Keyboard();
//Associe certaines touches aux les fonctionnalitées saut, avancer, reculer
input.addMapping('Space', keyState => {
if (keyState) {
entity.jump.start();

@ -9,7 +9,11 @@ export function createBackgroundLayer(level, sprites) {
const context = buffer.getContext('2d');
let startIndex, endIndex;
function redraw(drawFrom, drawTo) {
//Evite de redessiner le fond pour rien
if (drawFrom === startIndex && drawTo === endIndex) {
return;
}
@ -17,6 +21,7 @@ export function createBackgroundLayer(level, sprites) {
startIndex = drawFrom;
endIndex = drawTo;
//Appel la fonction de dessin des tiles sur le fond pour chaque case de la grille
for (let x = startIndex; x <= endIndex; ++x) {
const col = tiles.grid[x];
if (col) {

Loading…
Cancel
Save