Skip to content

Commit 26a175e

Browse files
authored
Merge pull request #4 from Moderrek/dev-1.0.4
v1.0.4
2 parents 94de2b7 + 1de2cc7 commit 26a175e

33 files changed

+495
-261
lines changed

demo/game.js

+78-80
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,104 @@
11
JSGL.ExampleHTML.Render({
22
backgroundColor: '#0F0F0F'
3-
}); // render with default settings
4-
// JSGL.ExampleHTML.Render({
5-
// backgroundColor: 'red'
6-
// }); // override default settings (sets the background color of body to red)
3+
});
74

8-
// Create Game Instance
95
let game = new JSGL.Game({
106
canvas: document.getElementById("gameCanvas"),
11-
grid: new JSGL.Vector2(8, 6),
12-
autoResize: true,
13-
refreshWhenUnfocused: true
7+
grid: new JSGL.Vector2(8, 6)
148
});
15-
// Add resource to load
9+
1610
game.LoadResource('image', 'points', './resources/images/point.png');
17-
// game.LoadResource('image', 'player', './player.png');
18-
// game.LoadResource('image', 'enemy', './enemy.png');
1911

2012
game.RescaleCanvasToParentElement(0.95);
21-
// game.RescaleCanvasToParentElement(percentage);
2213

23-
// Creating own JSGL Sprite GameObject
24-
class Enemy extends JSGL.Sprite{
14+
class Enemy extends JSGL.Sprite {
2515
move = true;
2616

27-
OnStart(event){
17+
OnStart(event) {
2818
this.texture = event.game.GetImage('points');
2919
this.showHitbox = true;
20+
this.transform.rotate(360 * Math.random());
3021
}
31-
Update(event){
32-
this.transform.rotate(30 * event.deltaTime);
33-
if(this.move)
22+
Update(event) {
23+
// this.transform.rotate(30 * event.deltaTime);
24+
if (this.move)
3425
this.transform.move(new JSGL.Vector2(1 * event.deltaTime, 1 * event.deltaTime));
26+
this.transform.ifOnEdgeBounce(event.game.grid);
3527
event.game.Update();
3628
}
37-
OnMouseClick(event){
38-
console.log("Clicked! @", event);
29+
OnMouseClick(event) {
30+
console.log(this);
3931
return true;
4032
}
4133
}
4234

43-
// Start loading and wait to load all resources.
44-
// game.on('loadAllResources', () => {
45-
// game.Start();
46-
// });
47-
// game.LoadAllResources();
4835
console.log("Waiting for load..");
4936
game.LoadGameAndStart().then(() => {
5037
console.log("Loaded");
38+
// game.on('draw', (event) => {
39+
// game.renderer.fillFrame({
40+
// color: '#F0F0F0'
41+
// });
42+
// game.renderer.drawRectangle(0, 0, 1, 1, {
43+
// shadow: {
44+
// color: 'black',
45+
// offsetX: 0.05,
46+
// offsetY: 0.05,
47+
// blur: 0.4
48+
// }
49+
// });
50+
// // game.renderer.drawTriangle(2, 0, 1, 1, {
51+
// // color: 'blue'
52+
// // });
53+
// //
54+
// game.renderer.drawRectangle(4.9, 0, 1.2, 3.1, {
55+
// alpha: 0.2
56+
// });
57+
// game.renderer.drawCircle(5, 0, 1, {
58+
// color: 'green',
59+
// border: true,
60+
// fill: true,
61+
// alpha: 0.1
62+
// });
63+
// game.renderer.drawCircle(5, 1, 1, {
64+
// color: 'yellow',
65+
// border: true,
66+
// fill: true,
67+
// alpha: 0.1
68+
// });
69+
// game.renderer.drawCircle(5, 2, 1, {
70+
// color: 'red',
71+
// border: true,
72+
// fill: true
73+
// });
74+
// //
75+
// game.renderer.drawRectangle(1, 2, 1, 1, {
76+
// color: 'magenta',
77+
// angle: 45,
78+
// border: true,
79+
// borderColor: 'red',
80+
// alpha: 0.1,
81+
// shadow: {
82+
// color: 'red',
83+
// offsetX: 0.1,
84+
// offsetY: 0.1,
85+
// blur: 1
86+
// }
87+
// });
88+
// });
89+
// game.on('mouseUp', (event) => {
90+
// console.log('Mouse up!');
91+
// })
92+
// game.on('mouseDown', (event) => {
93+
// console.log('Mouse down!');
94+
// })
95+
// game.on('mouseClick', (event) => {
96+
// console.log(event.mousePos, event.mouseClientPos);
97+
// });
5198
game.on('draw', (event) => {
5299
game.renderer.fillFrame({
53100
color: '#F0F0F0'
54101
});
55-
game.renderer.drawRectangle(0, 0, 1, 1, {
56-
shadow: {
57-
color: 'black',
58-
offsetX: 0.05,
59-
offsetY: 0.05,
60-
blur: 0.4
61-
}
62-
});
63-
// game.renderer.drawTriangle(2, 0, 1, 1, {
64-
// color: 'blue'
65-
// });
66-
//
67-
game.renderer.drawRectangle(4.9, 0, 1.2, 3.1, {
68-
alpha: 0.2
69-
});
70-
game.renderer.drawCircle(5, 0, 1, {
71-
color: 'green',
72-
border: true,
73-
fill: true,
74-
alpha: 0.1
75-
});
76-
game.renderer.drawCircle(5, 1, 1, {
77-
color: 'yellow',
78-
border: true,
79-
fill: true,
80-
alpha: 0.1
81-
});
82-
game.renderer.drawCircle(5, 2, 1, {
83-
color: 'red',
84-
border: true,
85-
fill: true
86-
});
87-
//
88-
game.renderer.drawRectangle(1, 2, 1, 1, {
89-
color: 'magenta',
90-
angle: 45,
91-
border: true,
92-
borderColor: 'red',
93-
alpha: 0.1,
94-
shadow: {
95-
color: 'red',
96-
offsetX: 0.1,
97-
offsetY: 0.1,
98-
blur: 1
99-
}
100-
});
101-
});
102-
game.on('mouseUp', (event) => {
103-
console.log('Mouse up!');
104-
})
105-
game.on('mouseDown', (event) => {
106-
console.log('Mouse down!');
107-
})
108-
game.on('mouseClick', (event) => {
109-
console.log(event.mousePos, event.mouseClientPos);
110102
});
111103
let enemy = new Enemy();
112104
enemy.transform.addX(3).addY(1);
@@ -115,4 +107,10 @@ game.LoadGameAndStart().then(() => {
115107
game.AddGameObject(new Enemy()).showHitbox = false;
116108
game.AddGameObject(new Enemy()).transform.add(new JSGL.Vector2(3.5, 2.5));
117109
game.AddGameObject(new Enemy()).transform.add(new JSGL.Vector2(0, 3));
110+
111+
let shape = new JSGL.Shape();
112+
shape.properties.color = 'red';
113+
shape.type = JSGL.ShapeType.Cube;
114+
shape.transform.goTo(game.GetRandomPosition());
115+
game.AddGameObject(shape);
118116
});

package.json

+20-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
{
22
"name": "@moderrkowo/jsgl",
3-
"version": "1.0.3",
3+
"displayName": "JSGL",
44
"description": "Client-side JavaScript library for creating web 2D games. Focusing at objective game.",
5+
"version": "1.0.4",
6+
"publisher": "Tymon Woźniak",
57
"main": "./dist/index.js",
6-
"scripts": {
7-
"build": "webpack --mode=production --node-env=production && tsc",
8-
"build:dev": "webpack --mode=development",
9-
"build:prod": "webpack --mode=production --node-env=production && tsc",
10-
"watch": "webpack --watch",
11-
"docs": "typedoc src/index.ts --name \"JSGL\" --includeVersion --hideGenerator"
8+
"homepage": "https://jsglreference.pl/",
9+
"bugs": {
10+
"url": "https://github.com/Moderrek/JSGL/issues",
11+
"email": "tymon.wozniak@my.com"
12+
},
13+
"author": "Tymon Woźniak",
14+
"license": "MIT",
15+
"repository": {
16+
"type": "git",
17+
"url": "https://github.com/Moderrek/JSGL.git"
1218
},
1319
"keywords": [
1420
"game-development",
@@ -22,11 +28,12 @@
2228
"animation",
2329
"library"
2430
],
25-
"author": "Tymon Woźniak",
26-
"license": "MIT",
27-
"repository": {
28-
"type": "git",
29-
"url": "https://github.com/Moderrek/JSGL.git"
31+
"scripts": {
32+
"build": "webpack --mode=production --node-env=production && tsc",
33+
"build:dev": "webpack --mode=development",
34+
"build:prod": "webpack --mode=production --node-env=production && tsc",
35+
"watch": "webpack --watch",
36+
"docs": "typedoc src/index.ts --name \"JSGL\" --includeVersion --hideGenerator"
3037
},
3138
"devDependencies": {
3239
"@babel/core": "^7.21.3",
@@ -48,4 +55,4 @@
4855
"webpack-cli": "^5.0.1",
4956
"wepack-cli": "^0.0.1-security"
5057
}
51-
}
58+
}

0 commit comments

Comments
 (0)