Skip to content

Commit d34a7cb

Browse files
committed
22.7.26 #16
Input Tracker has been fixed to be accurate AND much faster
1 parent 80d28fe commit d34a7cb

File tree

2 files changed

+23
-47
lines changed

2 files changed

+23
-47
lines changed

dev/zepyhr.js

Lines changed: 22 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,41 @@
11
"use strict"
22
// ZEPHYR.js directly builds on top of PixiJS for ease of use
3-
PIXI.zephyr = "ZephyrJS version 22.7.14";
3+
PIXI.zephyr = "ZephyrJS version 22.7.26";
44

55
PIXI.input = {
66
keyMap: new Map(),
77
// getKeyFired returns true the first time it is called for a key while the key is down
88
getKeyFired: (keyStr) => {
9-
let r = PIXI.input.keyMap.get(keyStr);
10-
PIXI.input.keyMap.set(keyStr, false);
11-
return r;
9+
if (PIXI.input.keyMap.size > 0 && PIXI.input.keyMap.get(keyStr)) {
10+
PIXI.input.keyMap.set(keyStr, false);
11+
return true;
12+
}
13+
return false;
1214
},
1315
// getKeyDown returns true always if the key is down
1416
getKeyDown: (keyStr) => {
15-
return PIXI.input.keyMap.has(keyStr);
17+
if (PIXI.input.keyMap.size > 0 && PIXI.input.keyMap.has(keyStr)) {
18+
PIXI.input.keyMap.set(keyStr, false);
19+
return true;
20+
}
21+
return false;
1622
},
1723

1824
mouseContainer: document.getElementsByTagName("html")[0],
1925
mouseMap: new Map(),
2026
getMouseFired: (btn) => {
21-
let r = PIXI.input.mouseMap.get(btn);
22-
PIXI.input.keyMap.set(btn, false);
23-
return r;
27+
if (PIXI.input.mouseMap.size > 0 && PIXI.input.mouseMap.get(btn)) {
28+
PIXI.input.mouseMap.set(btn, false);
29+
return true;
30+
}
31+
return false;
2432
},
2533
getMouseDown: (btn) => {
26-
return PIXI.input.mouseMap.has(btn);
34+
if (PIXI.input.mouseMap.size > 0 && PIXI.input.mouseMap.has(btn)) {
35+
PIXI.input.mouseMap.set(btn, false);
36+
return true;
37+
}
38+
return false;
2739
},
2840
getMouseX: () => {
2941
return PIXI.input.mouseMap.get('x');
@@ -59,47 +71,11 @@ PIXI.utils.openFullScreen = (view) => {
5971
view.msRequestFullscreen(); // IE11
6072
}
6173

62-
PIXI.utils.saveObjectToFile = (name, state) => {
63-
let blobState = new Blob([JSON.stringify(state)], {type: 'text/plain'});
64-
let a = document.createElement('a');
65-
a.download = name + ".json";
66-
a.href = window.URL.createObjectURL(blobState);
67-
a.click();
68-
};
69-
70-
PIXI.utils.readObjectFromFile = () => {
71-
return new Promise(resolve => {
72-
let input = document.createElement('input');
73-
input.type = 'file';
74-
input.accept = '.json';
75-
76-
document.body.onfocus = () => {
77-
if (input) {
78-
let res = null;
79-
if(input.target) {
80-
console.log("Files picked");
81-
let file = input.target.files[0];
82-
let reader = new FileReader();
83-
reader.readAsText(file,'UTF-8');
84-
reader.onload = readerEvent => {
85-
res = JSON.parse(readerEvent.target.result);
86-
}
87-
} else {
88-
console.log("No files picked");
89-
}
90-
input = null;
91-
resolve(res);
92-
}
93-
}
94-
95-
input.click();
96-
});
97-
};
98-
9974
// Keyboard
10075
window.addEventListener('keydown', (e) => {
10176
PIXI.input.keyMap.set(e.key.toLowerCase(), true);
10277
});
78+
10379
window.addEventListener('keyup', (e) => {
10480
PIXI.input.keyMap.delete(e.key.toLowerCase());
10581
});

games/GMTK Jam/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<title>Take a Chance</title>
66
<script src="engine/pixi.min.js"></script>
77
<script src="engine/pixi-sound.js"></script>
8-
<script src="engine/zepyhr.js"></script>
8+
<script src="../../dev/zepyhr.js"></script>
99
<style>
1010
* {
1111
margin: 0;

0 commit comments

Comments
 (0)