Add projectile damage
This commit is contained in:
parent
f9f6825776
commit
555be9d602
14 changed files with 111 additions and 40 deletions
|
|
@ -33,7 +33,7 @@ export class TouchListener extends CommandGenerator {
|
|||
target.addEventListener('touchmove', (event: TouchEvent) => {
|
||||
event.preventDefault();
|
||||
|
||||
const position = this.positionFromEvent(event);
|
||||
const position = this.positionFromEvent(event, true);
|
||||
const movement = vec2.subtract(vec2.create(), position, this.previousPosition);
|
||||
|
||||
if (vec2.squaredLength(movement) > 0) {
|
||||
|
|
@ -50,11 +50,18 @@ export class TouchListener extends CommandGenerator {
|
|||
});
|
||||
}
|
||||
|
||||
private positionFromEvent(event: TouchEvent): vec2 {
|
||||
private positionFromEvent(event: TouchEvent, invert = false): vec2 {
|
||||
const touches = Array.prototype.slice.call(event.touches);
|
||||
const center = touches.reduce(
|
||||
(center: vec2, touch: Touch) =>
|
||||
vec2.add(center, center, vec2.fromValues(-touch.clientX, -touch.clientY)),
|
||||
vec2.add(
|
||||
center,
|
||||
center,
|
||||
vec2.fromValues(
|
||||
touch.clientX * (invert ? -1 : 1),
|
||||
touch.clientY * (invert ? -1 : 1),
|
||||
),
|
||||
),
|
||||
vec2.create(),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ export class Game {
|
|||
{
|
||||
shadowTraceCount: 16,
|
||||
paletteSize: 10,
|
||||
enableStopwatch: true,
|
||||
//enableStopwatch: true,
|
||||
},
|
||||
);
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ export class Game {
|
|||
colorPalette: [
|
||||
rgb(1, 1, 1),
|
||||
rgb(0.4, 0.4, 0.4),
|
||||
rgb(0.3, 1, 1),
|
||||
rgb(1, 1, 1),
|
||||
...settings.playerColors,
|
||||
],
|
||||
enableHighDpiRendering: false,
|
||||
|
|
|
|||
|
|
@ -1,19 +1,22 @@
|
|||
import { vec2 } from 'gl-matrix';
|
||||
import { Circle, Renderer } from 'sdf-2d';
|
||||
import { Id, ProjectileBase } from 'shared';
|
||||
import { Circle, CircleLight, Renderer } from 'sdf-2d';
|
||||
import { Id, ProjectileBase, rgb } from 'shared';
|
||||
import { ViewObject } from './view-object';
|
||||
|
||||
export class ProjectileView extends ProjectileBase implements ViewObject {
|
||||
private circle: Circle;
|
||||
private light: CircleLight;
|
||||
|
||||
constructor(id: Id, center: vec2, radius: number) {
|
||||
super(id, center, radius);
|
||||
this.circle = new Circle(center, radius);
|
||||
this.circle = new Circle(center, radius / 2);
|
||||
this.light = new CircleLight(center, rgb(1, 0.5, 0), 0.35);
|
||||
}
|
||||
|
||||
public step(deltaTimeInMilliseconds: number): void {}
|
||||
|
||||
public draw(renderer: Renderer): void {
|
||||
renderer.addDrawable(this.circle);
|
||||
renderer.addDrawable(this.light);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue