aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawables
diff options
context:
space:
mode:
authorMaksymilian Jopek <maks@jopek.eu>2022-05-24 18:25:43 +0200
committerMaksymilian Jopek <maks@jopek.eu>2022-05-24 18:25:43 +0200
commit2f8b8c87fb2062313afea7b625ccb20d1bea95b9 (patch)
tree973e20986e4b9279b9322a9fd140e6f989eaf492 /src/drawables
download1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.tar.gz
1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.tar.zst
1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.zip
Initial commit
Diffstat (limited to 'src/drawables')
-rw-r--r--src/drawables/Background.ts26
-rw-r--r--src/drawables/Bullet.ts27
-rw-r--r--src/drawables/Selector.ts15
-rw-r--r--src/drawables/TopBar.ts17
4 files changed, 85 insertions, 0 deletions
diff --git a/src/drawables/Background.ts b/src/drawables/Background.ts
new file mode 100644
index 0000000..1eef6c4
--- /dev/null
+++ b/src/drawables/Background.ts
@@ -0,0 +1,26 @@
+import { canvas, ctx } from "../consts";
+import Drawable from "../Drawable";
+import { IMGS } from "../Images";
+
+export class Background extends Drawable {
+ sprite = IMGS.bg;
+ width = canvas.width
+ height = canvas.height - 24
+ constructor() {
+ super(0, 0)
+ }
+ // delta = -1751 + 24 + 2693;
+ delta = 0
+ move(): boolean {
+ this.delta += 1;
+ return true;
+ }
+ draw() {
+ if (this.sprite.src == null) this.sprite = IMGS.bg;
+ ctx.drawImage(this.sprite, 0, 2693 - this.delta + 24, 320, 200 - 24, 0, 24, this.width, this.height)
+ }
+ getImageData() {
+ ctx.drawImage(this.sprite, 0, 2693 - this.delta + 24, 320, 200 - 24, 0, 24, this.width, this.height)
+ return ctx.getImageData(0, 24, this.width, this.height);
+ }
+}
diff --git a/src/drawables/Bullet.ts b/src/drawables/Bullet.ts
new file mode 100644
index 0000000..68f55e8
--- /dev/null
+++ b/src/drawables/Bullet.ts
@@ -0,0 +1,27 @@
+import { canvas } from "../consts";
+import Drawable from "../Drawable";
+
+export default class Bullet extends Drawable {
+ static width = 2;
+ static height = 5;
+ static color = "black";
+ color = "black";
+ sprite = "black";
+
+ squares = [this]
+
+ constructor(x: number, y: number, public xvel: number, public yvel: number, public players: boolean) {
+ super(x, y);
+ this.width = Bullet.width;
+ this.height = Bullet.height;
+ }
+
+ move(): boolean {
+ this.x += this.xvel;
+ this.y += this.yvel;
+
+ return (
+ this.x + this.width < 0 || this.y + this.height < 0 || this.x > canvas.width || this.y > canvas.height
+ );
+ }
+}
diff --git a/src/drawables/Selector.ts b/src/drawables/Selector.ts
new file mode 100644
index 0000000..b72d839
--- /dev/null
+++ b/src/drawables/Selector.ts
@@ -0,0 +1,15 @@
+import { canvas, ctx } from "../consts";
+import Drawable from "../Drawable";
+import { IMGS } from "../Images";
+
+export class Selector extends Drawable {
+ sprite = IMGS.selector
+ width = canvas.width
+ height = 24
+ draw() {
+ if (this.sprite.src == null) this.sprite = IMGS.selector;
+ ctx.drawImage(this.sprite, this.x, this.y)
+ }
+}
+
+
diff --git a/src/drawables/TopBar.ts b/src/drawables/TopBar.ts
new file mode 100644
index 0000000..f021f77
--- /dev/null
+++ b/src/drawables/TopBar.ts
@@ -0,0 +1,17 @@
+import { canvas, ctx } from "../consts";
+import Drawable from "../Drawable";
+import { IMGS } from "../Images";
+
+export class TopBar extends Drawable {
+ sprite = IMGS.topbar;
+ width = canvas.width
+ height = 24
+ constructor() {
+ super(0, 0)
+ }
+ draw() {
+ if (this.sprite.src == null) this.sprite = IMGS.topbar;
+ ctx.drawImage(this.sprite, 0, 0)
+ }
+}
+