@urso/core 0.9.4-dev → 0.9.6-dev
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.bak.md +227 -0
- package/README.md +724 -176
- package/build/js/index.js +32925 -21514
- package/index.html +63 -0
- package/package.json +8 -6
- package/src/js/components/debug/template.js +3 -3
- package/src/js/components/loader/controller.js +31 -52
- package/src/js/components/loader/template.js +66 -54
- package/src/js/config/load.js +308 -298
- package/src/js/extra/browserEvents.js +4 -2
- package/src/js/extra/main.js +33 -9
- package/src/js/lib/cache.js +51 -17
- package/src/js/lib/tween.js +283 -69
- package/src/js/modules/assets/service.js +7 -1
- package/src/js/modules/i18n/controller.js +1 -1
- package/src/js/modules/logic/sounds.js +1 -1
- package/src/js/modules/objects/baseModel.js +4 -0
- package/src/js/modules/objects/models/emitterFx.js +8 -8
- package/src/js/modules/objects/models/graphics.js +1 -0
- package/src/js/modules/objects/models/spine.js +24 -23
- package/src/js/modules/objects/models/text.js +110 -52
- package/src/js/modules/objects/propertyAdapter.js +1 -0
- package/src/js/modules/objects/proxy.js +10 -8
- package/src/js/modules/objects/service.js +1 -1
- package/src/js/modules/objects/styles.js +1 -1
- package/src/js/modules/scenes/pixiWrapper.js +44 -28
- package/src/js/modules/scenes/resolutions.js +1 -1
- package/src/js/modules/soundManager/soundSprite.js +1 -1
- package/src/js/modules/template/service.js +1 -1
- package/vite.config.js +1 -8
package/index.html
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Document</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
body {
|
|
14
|
+
background-color: #f0f0f0;
|
|
15
|
+
font-family: Arial, sans-serif;
|
|
16
|
+
color: #333;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
<script src="./build/js/index.js"></script>
|
|
22
|
+
<script>
|
|
23
|
+
// Example of using the imported function
|
|
24
|
+
// Urso.runGame();
|
|
25
|
+
// return;
|
|
26
|
+
(async () => {
|
|
27
|
+
const app = new PIXI.Application();
|
|
28
|
+
await app.init({ background: "#1099bb", resizeTo: window });
|
|
29
|
+
document.body.appendChild(app.canvas);
|
|
30
|
+
const cntr = new PIXI.Graphics();
|
|
31
|
+
cntr.beginFill(0x66f542);
|
|
32
|
+
cntr.drawRect(0, 0, 100, 100);
|
|
33
|
+
cntr.endFill();
|
|
34
|
+
cntr.y = 100;
|
|
35
|
+
cntr.x = 100;
|
|
36
|
+
app.stage.addChild(cntr);
|
|
37
|
+
|
|
38
|
+
let from = { y: 100 };
|
|
39
|
+
let to = { y: 600 };
|
|
40
|
+
|
|
41
|
+
const run = () => {
|
|
42
|
+
const t = gsap.timeline();
|
|
43
|
+
|
|
44
|
+
t.to(from, {
|
|
45
|
+
...to,
|
|
46
|
+
yoyo: true,
|
|
47
|
+
duration: 1,
|
|
48
|
+
onUpdate: () => {
|
|
49
|
+
cntr.y = from.y;
|
|
50
|
+
},
|
|
51
|
+
onComplete: () => {
|
|
52
|
+
cntr.y = 100;
|
|
53
|
+
from = { y: 100 };
|
|
54
|
+
to = { y: 600 };
|
|
55
|
+
run();
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
run();
|
|
60
|
+
})();
|
|
61
|
+
</script>
|
|
62
|
+
</body>
|
|
63
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@urso/core",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6-dev",
|
|
4
4
|
"description": "HTML5 game engine",
|
|
5
5
|
"main": "build/js/index.js",
|
|
6
6
|
"author": "Megbrimef",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"dev": "vite",
|
|
11
11
|
"build:prod": "vite build",
|
|
12
|
-
"serve": "vite preview"
|
|
12
|
+
"serve": "vite preview",
|
|
13
|
+
"watch": "vite build --watch"
|
|
13
14
|
},
|
|
14
15
|
"repository": {
|
|
15
16
|
"type": "git",
|
|
@@ -24,10 +25,11 @@
|
|
|
24
25
|
},
|
|
25
26
|
"homepage": "https://github.com/megbrimef/urso#readme",
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"pixi.js": "^8.10.2",
|
|
29
|
+
"@urso/revolt-fx": "^0.2.0",
|
|
30
|
+
"@esotericsoftware/spine-pixi-v8": "^4.2.84",
|
|
31
|
+
"gsap": "^3.13.0",
|
|
32
|
+
"howler": "^2.2.4"
|
|
31
33
|
},
|
|
32
34
|
"devDependencies": {
|
|
33
35
|
"@vitejs/plugin-legacy": "^6.1.1",
|
|
@@ -11,16 +11,16 @@ class ComponentsDebugTemplate {
|
|
|
11
11
|
name: 'debugCoords',
|
|
12
12
|
text: 'x:0, y:0',
|
|
13
13
|
fontFamily: 'Helvetica',
|
|
14
|
-
fontSize:
|
|
14
|
+
fontSize: 30,
|
|
15
15
|
fill: '#00FF00'
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
type: Urso.types.objects.TEXT,
|
|
19
19
|
name: 'debugFps',
|
|
20
20
|
text: 'fps: 0',
|
|
21
|
-
y:
|
|
21
|
+
y: 30,
|
|
22
22
|
fontFamily: 'Helvetica',
|
|
23
|
-
fontSize:
|
|
23
|
+
fontSize: 30,
|
|
24
24
|
fill: '#00FF00'
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -1,66 +1,45 @@
|
|
|
1
|
-
import ComponentsBaseController from
|
|
1
|
+
import ComponentsBaseController from "./../base/controller";
|
|
2
2
|
|
|
3
3
|
class ComponentsLoaderController extends ComponentsBaseController {
|
|
4
|
+
loadUpdate(loadProgress) {
|
|
5
|
+
this.setLoadProgress(loadProgress);
|
|
6
|
+
}
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
create() {
|
|
9
|
+
this.setMask();
|
|
10
|
+
}
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
setMask() {
|
|
13
|
+
if (this.loaderBg && this.loaderBgMask)
|
|
14
|
+
this.loaderBg._baseObject.mask = this.loaderBgMask._baseObject;
|
|
15
|
+
}
|
|
9
16
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
formatAmountText(text) {
|
|
18
|
+
return `${text}%`;
|
|
19
|
+
}
|
|
13
20
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
21
|
+
setLoadProgress(val) {
|
|
22
|
+
if (!this.componentCreated) return;
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
this.loaderBgMask._baseObject.scale.x = val;
|
|
25
|
+
this.loadAmountText.text = this.formatAmountText(val);
|
|
26
|
+
}
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
get componentCreated() {
|
|
29
|
+
return !!this.loadAmountText && !!this.loaderBg && !!this.loaderBgMask;
|
|
30
|
+
}
|
|
25
31
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
32
|
+
get loadAmountText() {
|
|
33
|
+
return Urso.findOne(".loadAmountText");
|
|
34
|
+
}
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
formatAmountText(text) {
|
|
37
|
-
return `${text}%`;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
setLoadProgress(val) {
|
|
41
|
-
if (!this.componentCreated)
|
|
42
|
-
return;
|
|
43
|
-
|
|
44
|
-
this.loaderBgMask._baseObject.scale.x = val;
|
|
45
|
-
this.loadAmountText.text = this.formatAmountText(val);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
get componentCreated() {
|
|
49
|
-
return !!this.loadAmountText && !!this.loaderBg && !!this.loaderBgMask;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
get loadAmountText() {
|
|
53
|
-
return Urso.findOne('.loadAmountText');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
get loaderBg() {
|
|
57
|
-
return Urso.findOne('^loaderBg');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
get loaderBgMask() {
|
|
61
|
-
return Urso.findOne('^loaderBgMask');
|
|
62
|
-
}
|
|
36
|
+
get loaderBg() {
|
|
37
|
+
return Urso.findOne("^loaderBg");
|
|
38
|
+
}
|
|
63
39
|
|
|
40
|
+
get loaderBgMask() {
|
|
41
|
+
return Urso.findOne("^loaderBgMask");
|
|
42
|
+
}
|
|
64
43
|
}
|
|
65
44
|
|
|
66
45
|
export default ComponentsLoaderController;
|
|
@@ -4,66 +4,78 @@ class ComponentsLoaderTemplate {
|
|
|
4
4
|
'.loadingTextStyle': {
|
|
5
5
|
fill: 0xFFFFFF,
|
|
6
6
|
fontSize: 32,
|
|
7
|
-
fontWeight: 'bold'
|
|
7
|
+
fontWeight: 'bold',
|
|
8
|
+
fontStyle: 'italic',
|
|
8
9
|
}
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
this.assets = [];
|
|
12
13
|
|
|
13
14
|
this.objects = [
|
|
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
|
-
|
|
15
|
+
// {
|
|
16
|
+
// type: Urso.types.objects.GRAPHICS,
|
|
17
|
+
// x: 100,
|
|
18
|
+
// y: 100,
|
|
19
|
+
// name: 'qqqq',
|
|
20
|
+
// figure: {
|
|
21
|
+
// rectangle: [0, 0, 100, 100],
|
|
22
|
+
// fillColor: 0x66f542
|
|
23
|
+
// }
|
|
24
|
+
// },
|
|
25
|
+
// {
|
|
26
|
+
// type: Urso.types.objects.CONTAINER,
|
|
27
|
+
// name: 'loaderContainer',
|
|
28
|
+
// visible: false,
|
|
29
|
+
// contents: [
|
|
30
|
+
// {
|
|
31
|
+
// type: Urso.types.objects.GRAPHICS,
|
|
32
|
+
// name: 'bgLoader',
|
|
33
|
+
// figure: {
|
|
34
|
+
// rectangle: [0, 20, 500, 20],
|
|
35
|
+
// fillColor: 0x66f542
|
|
36
|
+
// }
|
|
37
|
+
// },
|
|
38
|
+
// {
|
|
39
|
+
// type: Urso.types.objects.CONTAINER,
|
|
40
|
+
// contents: [
|
|
41
|
+
// {
|
|
42
|
+
// type: Urso.types.objects.GRAPHICS,
|
|
43
|
+
// figure: {
|
|
44
|
+
// rectangle: [4, 24, 492, 13],
|
|
45
|
+
// }
|
|
46
|
+
// },
|
|
47
|
+
// {
|
|
48
|
+
// type: Urso.types.objects.GRAPHICS,
|
|
49
|
+
// name: 'loaderBg',
|
|
50
|
+
// figure: {
|
|
51
|
+
// rectangle: [4, 24, 492, 13],
|
|
52
|
+
// fillColor: 0x66f542
|
|
53
|
+
// }
|
|
54
|
+
// },
|
|
55
|
+
// {
|
|
56
|
+
// type: Urso.types.objects.GRAPHICS,
|
|
57
|
+
// name: 'loaderBgMask',
|
|
58
|
+
// figure: {
|
|
59
|
+
// rectangle: [4, 24, 492, 13]
|
|
60
|
+
// }
|
|
61
|
+
// },
|
|
62
|
+
// {
|
|
63
|
+
// type: Urso.types.objects.CONTAINER,
|
|
64
|
+
// x: 260,
|
|
65
|
+
// y: 50,
|
|
66
|
+
// contents: [
|
|
67
|
+
// {
|
|
68
|
+
// type: Urso.types.objects.TEXT,
|
|
69
|
+
// class: 'loadingTextStyle loadAmountText',
|
|
70
|
+
// anchorX: 0.5,
|
|
71
|
+
// text: '100%'
|
|
72
|
+
// }
|
|
73
|
+
// ]
|
|
74
|
+
// }
|
|
75
|
+
// ]
|
|
76
|
+
// }
|
|
77
|
+
// ]
|
|
78
|
+
// }
|
|
67
79
|
];
|
|
68
80
|
};
|
|
69
81
|
};
|