Well it works again

This commit is contained in:
Schluffe
2026-02-20 10:48:19 +01:00
parent c95621072c
commit ec41f332f2
6 changed files with 44 additions and 24 deletions
+3 -4
View File
@@ -2,13 +2,12 @@ import { type Circle, createCircle } from "#/engine/Circle.ts";
import { moveAndCollide } from "#/engine/Collision.ts";
import { defineEntity } from "#/engine/Entity.ts";
import { keyboardInput } from "#/engine/Keyboard.ts";
import { loadImage } from "#/engine/lib/loadImage";
import { pointer } from "#/engine/Pointer.ts";
import {
createSpriteAnimation,
createSpritesSheet,
type SpriteAnimation,
} from "#/engine/sprites.ts";
useSpriteSheetSrc,
} from "#/engine/Sprite.ts";
import { createVector, type Vector } from "#/engine/Vector.ts";
import charIdle from "#/game/assets/char-idle.png";
@@ -20,7 +19,7 @@ export type Hero = {
};
const speed = 0.05;
const idleSheet = createSpritesSheet(await loadImage(charIdle), 2, 4);
const idleSheet = await useSpriteSheetSrc(charIdle, 2, 4);
const state: Hero = {
position: createVector(),
+2 -3
View File
@@ -1,9 +1,8 @@
import { defineEntity } from "#/engine/Entity.ts";
import { loadImage } from "#/engine/lib/loadImage.ts";
import { createSpriteAnimation, createSpritesSheet } from "#/engine/sprites.ts";
import { createSpriteAnimation, useSpriteSheetSrc } from "#/engine/Sprite.ts";
import portal from "#/game/assets/portal.png";
const portalSheet = createSpritesSheet(await loadImage(portal), 3, 1);
const portalSheet = await useSpriteSheetSrc(portal, 3, 1);
defineEntity("portal", {
animation: createSpriteAnimation(portalSheet, 400, 0),
+4 -5
View File
@@ -1,18 +1,17 @@
import { defineEntity } from "#/engine/Entity.ts";
import { loadImage } from "#/engine/lib/loadImage.ts";
import {
createSpriteAnimation,
createSpritesSheet,
type SpriteAnimation,
} from "#/engine/sprites.ts";
useSpriteSheetSrc,
} from "#/engine/Sprite.ts";
import { createVector, type Vector } from "#/engine/Vector.ts";
import { viewport } from "#/engine/Viewport.ts";
import charIdle from "#/game/assets/char-idle.png";
import charWalk from "#/game/assets/char-walk.png";
const sprites = {
idle: createSpritesSheet(await loadImage(charIdle), 2, 4),
walk: createSpritesSheet(await loadImage(charWalk), 4, 4),
idle: await useSpriteSheetSrc(charIdle, 2, 4),
walk: await useSpriteSheetSrc(charWalk, 4, 4),
};
const animations = {
+4 -2
View File
@@ -1,6 +1,7 @@
import { strokeCircle } from "#/engine/Circle.ts";
import { pointer } from "#/engine/Pointer.ts";
import { defineScene } from "#/engine/Scene.ts";
import { spriteSheetMap } from "#/engine/Sprite.ts";
import type { Hero } from "#/game/entities/hero/entity.ts";
import data from "./data.json";
@@ -11,9 +12,10 @@ linkScenes(["fooScene"] as const);
preProcess((entityInstanceMap) => {
const entry = entityInstanceMap.get("hero")!;
const instance = entry.instances[0] as Hero;
const sheet = spriteSheetMap.get(instance.animation.src)!;
instance.position.x = data.width - instance.animation.sheet.frameHeight;
instance.position.y = data.height - instance.animation.sheet.frameWidth;
instance.position.x = data.width - sheet.frameHeight;
instance.position.y = data.height - sheet.frameWidth;
});
process((ctx, _delta) => {