like2d 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -19
- package/dist/adapters/scene/startup-scene.d.ts.map +1 -1
- package/dist/adapters/scene/startup-scene.js +2 -2
- package/dist/core/graphics.d.ts +18 -16
- package/dist/core/graphics.d.ts.map +1 -1
- package/dist/core/graphics.js +9 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,26 +43,28 @@ pnpm add like2d
|
|
|
43
43
|
Ideal for small games, jams, or prototyping.
|
|
44
44
|
|
|
45
45
|
```typescript
|
|
46
|
-
import {
|
|
46
|
+
import { createLike } from 'like2d/callback';
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const like = createLike(document.body);
|
|
49
|
+
|
|
50
|
+
like.load = () => {
|
|
51
|
+
like.setMode({ pixelResolution: [800, 600] });
|
|
52
|
+
like.input.map('jump', ['Space', 'ButtonBottom']);
|
|
51
53
|
};
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
if (input.justPressed('jump')) {
|
|
55
|
+
like.update = (dt) => {
|
|
56
|
+
if (like.input.justPressed('jump')) {
|
|
55
57
|
console.log('Jump!');
|
|
56
58
|
}
|
|
57
59
|
};
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
like.draw = () => {
|
|
62
|
+
like.gfx.clear([0.1, 0.1, 0.1, 1]);
|
|
63
|
+
like.gfx.circle('fill', 'dodgerblue', [400, 300], 50);
|
|
64
|
+
like.gfx.print('white', 'Hello Like2D!', [20, 20]);
|
|
63
65
|
};
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
await like.start();
|
|
66
68
|
```
|
|
67
69
|
|
|
68
70
|
### Scene Pattern (Class-based)
|
|
@@ -70,19 +72,21 @@ love.init(document.body);
|
|
|
70
72
|
Ideal for larger projects with menus, levels, and explicit state management.
|
|
71
73
|
|
|
72
74
|
```typescript
|
|
73
|
-
import { SceneRunner, type Scene
|
|
75
|
+
import { SceneRunner, type Scene } from 'like2d/scene';
|
|
76
|
+
import type { Like } from 'like2d';
|
|
74
77
|
|
|
75
78
|
class MyScene implements Scene {
|
|
76
|
-
load() {
|
|
79
|
+
load(like: Like) {
|
|
77
80
|
console.log('Scene loaded!');
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
update(dt: number) {
|
|
83
|
+
update(like: Like, dt: number) {
|
|
81
84
|
// update logic
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
draw(
|
|
85
|
-
|
|
87
|
+
draw(like: Like) {
|
|
88
|
+
like.gfx.clear([0.1, 0.1, 0.1, 1]);
|
|
89
|
+
like.gfx.print('white', 'Hello Like2D!', [20, 20]);
|
|
86
90
|
}
|
|
87
91
|
}
|
|
88
92
|
|
|
@@ -95,9 +99,9 @@ await runner.start(new MyScene());
|
|
|
95
99
|
Pick your pattern, import what you need:
|
|
96
100
|
|
|
97
101
|
```typescript
|
|
98
|
-
import {
|
|
99
|
-
import { SceneRunner, type Scene } from 'like2d/scene';
|
|
100
|
-
import { Vec2, Rect } from 'like2d
|
|
102
|
+
import { createLike } from 'like2d/callback'; // Love2D-style
|
|
103
|
+
import { SceneRunner, type Scene } from 'like2d/scene'; // Class-based scenes
|
|
104
|
+
import { Vec2, Rect, type Like } from 'like2d'; // Core types and math
|
|
101
105
|
```
|
|
102
106
|
|
|
103
107
|
See the [PHILOSOPHY.md](../../docs/PHILOSOPHY.md) for the principles behind the design.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-scene.d.ts","sourceRoot":"","sources":["../../../src/adapters/scene/startup-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"startup-scene.d.ts","sourceRoot":"","sources":["../../../src/adapters/scene/startup-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,KAAK,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AA4BF,qBAAa,YAAa,YAAW,KAAK;IAKtC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAc;gBAGhB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAK1C,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAItB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAMzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ImageHandle } from '../../core/graphics';
|
|
2
2
|
import { Vec2 } from '../../core/vector2';
|
|
3
3
|
import { Rect } from '../../core/rect';
|
|
4
4
|
const LOGO_DATA_URI = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB3aWR0aD0iMzAwbW0iIGhlaWdodD0iMTA1bW0iIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMwMCAxMDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cmVjdCB4PSIxMCIgeT0iMTEuMjMiIHdpZHRoPSIyODAiIGhlaWdodD0iODMuNTQ0IiBmaWxsPSIjZTQ4MDgwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cmVjdCB4PSI5Ny40ODQiIHk9IjExLjIzIiB3aWR0aD0iNTIuNTE2IiBoZWlnaHQ9IjQ2LjIzNyIvPgogIDxyZWN0IHg9IjE1MCIgeT0iMTEuMjMiIHdpZHRoPSIzNS4wMTEiIGhlaWdodD0iNDYuMjM3Ii8+CiAgPHJlY3QgeD0iMTg1LjAxIiB5PSIxMS4yMyIgd2lkdGg9IjUyLjUxNiIgaGVpZ2h0PSI0Ni4yMzciLz4KICA8cmVjdCB4PSIyMzcuNTMiIHk9IjExLjIzIiB3aWR0aD0iNTIuNTE2IiBoZWlnaHQ9IjQ2LjIzNyIvPgogPC9nPgogPGc+CiAgPHJlY3QgeD0iMTMyLjQ5IiB5PSIxMS4yMyIgd2lkdGg9IjE3LjUwNSIgaGVpZ2h0PSIyNy40NjEiLz4KICA8cmVjdCB4PSIxNTAiIHk9IjI5LjMwMiIgd2lkdGg9IjguNzUyNyIgaGVpZ2h0PSIxOC43NzYiLz4KICA8cmVjdCB4PSIxNzYuMjYiIHk9IjI5LjMwMiIgd2lkdGg9IjguNzUyNyIgaGVpZ2h0PSIxOC43NzYiLz4KIDwvZz4KIDxyZWN0IHg9IjE1MCIgeT0iMTEuMjMiIHdpZHRoPSIxNy41MDUiIGhlaWdodD0iOC42ODQ1IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KIDxyZWN0IHg9IjE2Ny41MSIgeT0iMTEuMjMiIHdpZHRoPSIxNy41MDUiIGhlaWdodD0iOC42ODQ1IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KIDxnPgogIDxwYXRoIGQ9Im0yMzcuNTMgMzguNjkxLTE3LjUwNS05LjM4ODIgMTcuNTA1LTE4LjA3M3oiLz4KICA8cmVjdCB4PSIyMDIuODgiIHk9IjQ4LjA3OSIgd2lkdGg9IjE2Ljc3MiIgaGVpZ2h0PSI5LjM4ODIiLz4KICA8cmVjdCB4PSIyNzIuNTQiIHk9IjIwLjI2NiIgd2lkdGg9IjE2Ljc3MiIgaGVpZ2h0PSI5LjM4ODIiLz4KICA8cmVjdCB4PSIyNzIuNTQiIHk9IjM4LjY5MSIgd2lkdGg9IjE2Ljc3MiIgaGVpZ2h0PSI5LjM4ODIiLz4KICA8cGF0aCBkPSJtMjAyLjUyIDI5LjMwMiAwLjM2Njg1LTE4LjA3M2gxNy4xMzl6Ii8+CiA8L2c+CiA8cGF0aCBkPSJtNjQuMDc4IDEuMDA0Mi0zMy4zNzUgMzMuMzc1LTAuMDE3NDMgMC4wMTc0YTIzLjYxMiAyMy42MTIgMCAwIDAgMCAzMy4zOTIgMjMuNjEyIDIzLjYxMiAwIDAgMCAzMC4wMTIgMi44MDIyIDIzLjYxMiAyMy42MTIgMCAwIDEgN2UtMyAwLjU3MDM0IDIzLjYxMiAyMy42MTIgMCAwIDEtMjMuNjEyIDIzLjYxMmg1My45N2EyMy42MTIgMjMuNjEyIDAgMCAxLTIzLjYxMS0yMy42MTIgMjMuNjEyIDIzLjYxMiAwIDAgMSA3ZS0zIC0wLjU3MDM0IDIzLjYxMiAyMy42MTIgMCAwIDAgMzAuMDEyLTIuODAyOSAyMy42MTIgMjMuNjEyIDAgMCAwLTYuODhlLTQgLTMzLjM5MnoiIGZpbGw9IiM4MGMzZTQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9Ii41Ij4KICA8Y2lyY2xlIHRyYW5zZm9ybT0icm90YXRlKDEzNSkiIGN4PSItMjAuOTg4IiBjeT0iLTkzLjI0MyIgcj0iMjMuNjEyIi8+CiAgPGNpcmNsZSB0cmFuc2Zvcm09InJvdGF0ZSgxMzUpIiBjeD0iMi42MjM4IiBjeT0iLTY5LjYzMiIgcj0iMjMuNjEyIi8+CiAgPGNpcmNsZSBjeD0iOTEuMDYyIiBjeT0iNzEuMTYxIiByPSIyMy42MTIiLz4KICA8Y2lyY2xlIGN4PSIzNy4wOTMiIGN5PSI3MS4xNjEiIHI9IjIzLjYxMiIvPgogPC9nPgo8L3N2Zz4K';
|
|
@@ -47,7 +47,7 @@ export class StartupScene {
|
|
|
47
47
|
writable: true,
|
|
48
48
|
value: void 0
|
|
49
49
|
});
|
|
50
|
-
this.logo = config.logo ??
|
|
50
|
+
this.logo = config.logo ?? new ImageHandle(LOGO_DATA_URI);
|
|
51
51
|
}
|
|
52
52
|
draw(like) {
|
|
53
53
|
(this.config.draw ?? defaultDraw)(like, this.logo);
|
package/dist/core/graphics.d.ts
CHANGED
|
@@ -53,28 +53,30 @@ export declare function line(s: GraphicsState, color: Color, points: Vector2[],
|
|
|
53
53
|
export declare function print(s: GraphicsState, color: Color, text: string, position: Vector2, props?: PrintProps): void;
|
|
54
54
|
export declare function drawImage(s: GraphicsState, handle: ImageHandle, position: Vector2, props?: DrawProps): void;
|
|
55
55
|
export declare function getCanvasSize(s: GraphicsState): Vector2;
|
|
56
|
+
export declare function newImage(_s: GraphicsState, path: string): ImageHandle;
|
|
56
57
|
export declare function newCanvas(s: GraphicsState, size: Vector2): Canvas;
|
|
57
58
|
export declare function setCanvas(s: GraphicsState, canvas?: Canvas | null): void;
|
|
58
59
|
export declare function clip(s: GraphicsState, rect?: Rect): void;
|
|
59
60
|
export declare function polygon(s: GraphicsState, mode: DrawMode, color: Color, points: Vector2[], props?: ShapeProps): void;
|
|
60
61
|
export declare function points(s: GraphicsState, color: Color, pts: Vector2[]): void;
|
|
61
|
-
|
|
62
|
+
type Bind<F> = F extends (s: GraphicsState, ...args: infer A) => infer R ? (...args: A) => R : never;
|
|
62
63
|
export type BoundGraphics = {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
line:
|
|
70
|
-
print:
|
|
71
|
-
draw:
|
|
72
|
-
getCanvasSize:
|
|
73
|
-
newCanvas:
|
|
74
|
-
setCanvas:
|
|
75
|
-
clip:
|
|
76
|
-
polygon:
|
|
77
|
-
points:
|
|
64
|
+
[K in keyof typeof graphicsFns]: Bind<(typeof graphicsFns)[K]>;
|
|
65
|
+
};
|
|
66
|
+
declare const graphicsFns: {
|
|
67
|
+
readonly clear: typeof clear;
|
|
68
|
+
readonly rectangle: typeof rectangle;
|
|
69
|
+
readonly circle: typeof circle;
|
|
70
|
+
readonly line: typeof line;
|
|
71
|
+
readonly print: typeof print;
|
|
72
|
+
readonly draw: typeof drawImage;
|
|
73
|
+
readonly getCanvasSize: typeof getCanvasSize;
|
|
74
|
+
readonly newCanvas: typeof newCanvas;
|
|
75
|
+
readonly setCanvas: typeof setCanvas;
|
|
76
|
+
readonly clip: typeof clip;
|
|
77
|
+
readonly polygon: typeof polygon;
|
|
78
|
+
readonly points: typeof points;
|
|
79
|
+
readonly newImage: typeof newImage;
|
|
78
80
|
};
|
|
79
81
|
export declare function bindGraphics(s: GraphicsState): BoundGraphics;
|
|
80
82
|
//# sourceMappingURL=graphics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphics.d.ts","sourceRoot":"","sources":["../../src/core/graphics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graphics.d.ts","sourceRoot":"","sources":["../../src/core/graphics.ts"],"names":[],"mappings":"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"}
|
package/dist/core/graphics.js
CHANGED
|
@@ -198,6 +198,9 @@ export function drawImage(s, handle, position, props) {
|
|
|
198
198
|
export function getCanvasSize(s) {
|
|
199
199
|
return [s.currentCtx.canvas.width, s.currentCtx.canvas.height];
|
|
200
200
|
}
|
|
201
|
+
export function newImage(_s, path) {
|
|
202
|
+
return new ImageHandle(path);
|
|
203
|
+
}
|
|
201
204
|
export function newCanvas(s, size) {
|
|
202
205
|
const [w, h] = size;
|
|
203
206
|
const element = document.createElement('canvas');
|
|
@@ -250,19 +253,15 @@ export function points(s, color, pts) {
|
|
|
250
253
|
ctx.fillStyle = applyColor(color);
|
|
251
254
|
pts.forEach(([x, y]) => ctx.fillRect(x, y, 1, 1));
|
|
252
255
|
}
|
|
253
|
-
export function newImage(path) {
|
|
254
|
-
return new ImageHandle(path);
|
|
255
|
-
}
|
|
256
256
|
const graphicsFns = {
|
|
257
257
|
clear, rectangle, circle, line, print,
|
|
258
258
|
draw: drawImage, getCanvasSize, newCanvas, setCanvas,
|
|
259
|
-
clip, polygon, points,
|
|
259
|
+
clip, polygon, points, newImage,
|
|
260
260
|
};
|
|
261
261
|
export function bindGraphics(s) {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
});
|
|
262
|
+
const bound = {};
|
|
263
|
+
for (const [name, fn] of Object.entries(graphicsFns)) {
|
|
264
|
+
bound[name] = (...args) => fn(s, ...args);
|
|
265
|
+
}
|
|
266
|
+
return bound;
|
|
268
267
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export type { Color, Quad, ShapeProps, DrawProps, PrintProps } from './core/grap
|
|
|
28
28
|
/**
|
|
29
29
|
* Handle to an image asset that may be loading in the background.
|
|
30
30
|
*/
|
|
31
|
-
export { ImageHandle
|
|
31
|
+
export { ImageHandle } from './core/graphics';
|
|
32
32
|
/**
|
|
33
33
|
* Audio source types for sound playback.
|
|
34
34
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;GAEG;AACH,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;GAEG;AACH,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,YAAY,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ export { Rect } from './core/rect';
|
|
|
14
14
|
/**
|
|
15
15
|
* Handle to an image asset that may be loading in the background.
|
|
16
16
|
*/
|
|
17
|
-
export { ImageHandle
|
|
17
|
+
export { ImageHandle } from './core/graphics';
|
|
18
18
|
/**
|
|
19
19
|
* Gamepad utility functions and types.
|
|
20
20
|
*/
|