-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
84 lines (76 loc) · 3.13 KB
/
index.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
import Game from "./src/game.js"
import Texture from "./src/image/texture.js"
import Sprite from "./src/image/sprite.js"
import RigidBody from "./src/physics/rigidbody.js";
import BoxCollider from "./src/physics/box-collider.js";
import CustomComponent from "./src/objects/custom-component.js";
import Renderer from "./src/render/renderer.js";
import Camera from "./src/camera/camera.js";
import Vector from "./src/math/vector.js";
import InputManager from "./src/input/input.js";
const game = new Game({});
new Camera({
position: new Vector(0, 100),
zoom: 1
});
const background = new Sprite(
{position: new Vector(0, 0), rotation: new Vector(0, 0), scale: new Vector(1080, 720)},
new Texture("https://i.imgur.com/IsSNQSG.png"));
game.activeScene.objects.push(background);
const player = new Sprite(
{position: new Vector(-25, 200), rotation: 0, scale: new Vector(40, 40)},
new Texture("https://i.imgur.com/hDS6kU3.jpeg"));
const rigidBody = new RigidBody({mass: 10, elasticity:0.1, isKinematic: false, useGravity: false});
player.addComponent(rigidBody);
const boxCollider = new BoxCollider({offset: Vector.zero, size: new Vector(40, 40)}, rigidBody);
player.addComponent(boxCollider);
player.addComponent(new CustomComponent({
onUpdate: function(){
//Renderer.instance.mainCamera.getPosition().x = player.getPosition().x;
if(InputManager.keysPressed[" "]) {
//rigidBody.addForce(new Vector(0, 300));
player.properties.rotation += 0.1;
}
if(InputManager.keysPressed["d"]) {
rigidBody.addForce(new Vector(10, 0));
//player.properties.position.x += 5;
}
else if(InputManager.keysPressed["a"]) {
rigidBody.addForce(new Vector(-10, 0));
//player.properties.position.x -= 5;
}
if(InputManager.keysPressed["w"]) {
rigidBody.addForce(new Vector(0, 10));
//player.properties.position.x += 5;
}
else if(InputManager.keysPressed["s"]) {
rigidBody.addForce(new Vector(0, -10));
//player.properties.position.x -= 5;
}
else if(InputManager.keysPressed["l"]) {
rigidBody.addAngularVelocity(1);
}
else if(InputManager.keysPressed["k"]) {
rigidBody.addAngularVelocity(-1);
}
else {
//rigidBody.velocity.x *= 0.8;
}
if(InputManager.keysPressed["="]) {
Renderer.instance.mainCamera.properties.zoom += 0.01;
}
if(InputManager.keysPressed["-"]) {
Renderer.instance.mainCamera.properties.zoom -= 0.01;
}
}
}));
game.activeScene.objects.push(player);
const player2 = new Sprite(
{position: new Vector(-80, 200), rotation: 0, scale: new Vector(30, 40)},
new Texture("https://i.imgur.com/hDS6kU3.jpeg"));
const rigidBody2 = new RigidBody({mass: 5, elasticity:0.1, isKinematic: false, useGravity: false});
player2.addComponent(rigidBody2);
const boxCollider2 = new BoxCollider({offset: Vector.zero, size: new Vector(30, 40)}, rigidBody2);
player2.addComponent(boxCollider2);
game.activeScene.objects.push(player2);
game.start();