mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
Compare commits
4 Commits
fix/subscr
...
experiment
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1a1e6dcece | ||
![]() |
4c50fde42b | ||
![]() |
a31fdb11b1 | ||
![]() |
bb51cd1144 |
@@ -10,7 +10,6 @@ declare namespace PIXI.filters {
|
||||
blur: number;
|
||||
quality: number;
|
||||
pixelSize: number | PIXI.Point | number[];
|
||||
resolution: number;
|
||||
}
|
||||
export interface AdvancedBloomOptions {
|
||||
threshold?: number;
|
||||
|
@@ -9,7 +9,6 @@ declare namespace PIXI.filters {
|
||||
kernels: number[];
|
||||
pixelSize: number | number[] | PIXI.Point;
|
||||
quality: number;
|
||||
resolution: number;
|
||||
rotation: number;
|
||||
shadowOnly: boolean;
|
||||
}
|
||||
|
@@ -64,41 +64,48 @@ describe('gdjs.ShapePainterRuntimeObject (using a PixiJS RuntimeGame with assets
|
||||
object.drawLineV2(10, 10, 20, 30, 3);
|
||||
|
||||
// Check the automatically computed bounds:
|
||||
expect(object.getDrawableX()).to.be(8.5);
|
||||
expect(object.getDrawableY()).to.be(8.5);
|
||||
expect(object.getWidth()).to.be(13);
|
||||
expect(object.getHeight()).to.be(23);
|
||||
const drawableX = 8.658359213500127;
|
||||
const drawableY = 9.329179606750063;
|
||||
const width = 12.683281572999746;
|
||||
const height = 21.341640786499873;
|
||||
expect(object.getDrawableX()).to.be(drawableX);
|
||||
expect(object.getDrawableY()).to.be(drawableY);
|
||||
expect(object.getWidth()).to.be(width);
|
||||
expect(object.getHeight()).to.be(height);
|
||||
|
||||
// Check the automatic center positioning:
|
||||
expect(object.getCenterXInScene()).to.be(15);
|
||||
expect(object.getCenterYInScene()).to.be(20);
|
||||
expect(object.getCenterX()).to.be(15 - 8.5);
|
||||
expect(object.getCenterY()).to.be(20 - 8.5);
|
||||
expect(object.getCenterX()).to.be(15 - drawableX);
|
||||
expect(object.getCenterY()).to.be(20 - drawableY);
|
||||
|
||||
// Check hit boxes:
|
||||
expect(object.getAABB()).to.eql({
|
||||
min: [8.5, 8.5],
|
||||
max: [8.5 + 13, 8.5 + 23],
|
||||
min: [drawableX, drawableY],
|
||||
max: [drawableX + width, drawableY + height],
|
||||
});
|
||||
|
||||
// Check after scaling (scaling is done from the origin):
|
||||
object.setScale(2);
|
||||
expect(object.getDrawableX()).to.be(17);
|
||||
expect(object.getDrawableY()).to.be(17);
|
||||
expect(object.getWidth()).to.be(13 * 2);
|
||||
expect(object.getHeight()).to.be(23 * 2);
|
||||
expect(object.getAABB()).to.eql({ min: [17, 17], max: [43, 63] });
|
||||
expect(object.getDrawableX()).to.be(2 * drawableX);
|
||||
expect(object.getDrawableY()).to.be(2 * drawableY);
|
||||
expect(object.getWidth()).to.be(2 * width);
|
||||
expect(object.getHeight()).to.be(2 * height);
|
||||
expect(object.getAABB()).to.eql({
|
||||
min: [2 * drawableX, 2 * drawableY],
|
||||
max: [2 * (drawableX + width), 2 * (drawableY + height)],
|
||||
});
|
||||
|
||||
// Check after rotating (rotating is done from the center):
|
||||
object.setAngle(45);
|
||||
expect(object.getDrawableX()).to.be(17); // Drawable X/Y is not impacted...
|
||||
expect(object.getDrawableY()).to.be(17);
|
||||
expect(object.getWidth()).to.be(13 * 2); // ...Neither is the size
|
||||
expect(object.getHeight()).to.be(23 * 2);
|
||||
expect(object.getDrawableX()).to.be(2 * drawableX); // Drawable X/Y is not impacted...
|
||||
expect(object.getDrawableY()).to.be(2 * drawableY);
|
||||
expect(object.getWidth()).to.be(2 * width); // ...Neither is the size
|
||||
expect(object.getHeight()).to.be(2 * height);
|
||||
expect(object.getAABB()).to.eql({
|
||||
// The hit boxes/AABB are rotated:
|
||||
min: [4.54415587728429, 14.54415587728429],
|
||||
max: [55.45584412271571, 65.45584412271572],
|
||||
min: [5.940746670252036, 15.940746670252032],
|
||||
max: [54.05925332974796, 64.05925332974797],
|
||||
});
|
||||
});
|
||||
|
||||
@@ -116,37 +123,44 @@ describe('gdjs.ShapePainterRuntimeObject (using a PixiJS RuntimeGame with assets
|
||||
object.setRotationCenter(10, 9);
|
||||
|
||||
// Check the automatically computed bounds (not impacted by the center):
|
||||
expect(object.getDrawableX()).to.be(8.5);
|
||||
expect(object.getDrawableY()).to.be(8.5);
|
||||
expect(object.getWidth()).to.be(13);
|
||||
expect(object.getHeight()).to.be(23);
|
||||
const drawableX = 8.658359213500127;
|
||||
const drawableY = 9.329179606750063;
|
||||
const width = 12.683281572999746;
|
||||
const height = 21.341640786499873;
|
||||
expect(object.getDrawableX()).to.be(drawableX);
|
||||
expect(object.getDrawableY()).to.be(drawableY);
|
||||
expect(object.getWidth()).to.be(width);
|
||||
expect(object.getHeight()).to.be(height);
|
||||
|
||||
// Check the center positioning:
|
||||
expect(object.getCenterXInScene()).to.be(10);
|
||||
expect(object.getCenterYInScene()).to.be(9);
|
||||
expect(object.getCenterX()).to.be(10 - 8.5);
|
||||
expect(object.getCenterY()).to.be(9 - 8.5);
|
||||
expect(object.getCenterX()).to.be(10 - drawableX);
|
||||
expect(object.getCenterY()).to.be(9 - drawableY);
|
||||
|
||||
// Check hit boxes (not impacted by the center, as no rotation is made):
|
||||
expect(object.getAABB()).to.eql({
|
||||
min: [8.5, 8.5],
|
||||
max: [8.5 + 13, 8.5 + 23],
|
||||
min: [drawableX, drawableY],
|
||||
max: [drawableX + width, drawableY + height],
|
||||
});
|
||||
|
||||
// Check after scaling (scaling is done from the origin):
|
||||
object.setScale(2);
|
||||
expect(object.getDrawableX()).to.be(17);
|
||||
expect(object.getDrawableY()).to.be(17);
|
||||
expect(object.getWidth()).to.be(13 * 2);
|
||||
expect(object.getHeight()).to.be(23 * 2);
|
||||
expect(object.getAABB()).to.eql({ min: [17, 17], max: [43, 63] });
|
||||
expect(object.getDrawableX()).to.be(2 * drawableX);
|
||||
expect(object.getDrawableY()).to.be(2 * drawableY);
|
||||
expect(object.getWidth()).to.be(2 * width);
|
||||
expect(object.getHeight()).to.be(2 * height);
|
||||
expect(object.getAABB()).to.eql({
|
||||
min: [2 * drawableX, 2 * drawableY],
|
||||
max: [2 * (drawableX + width), 2 * (drawableY + height)],
|
||||
});
|
||||
|
||||
// Check after rotating (rotating is done from the center):
|
||||
object.setAngle(45);
|
||||
expect(object.getAABB()).to.eql({
|
||||
// The hit boxes/AABB are rotated:
|
||||
min: [-13.941125496954278, 15.17157287525381],
|
||||
max: [36.970562748477136, 66.08326112068524],
|
||||
min: [-12.544534703986535, 16.568163668221555],
|
||||
max: [35.57397195550939, 64.6866703277175],
|
||||
});
|
||||
|
||||
// Draw outside of the current bounds.
|
||||
@@ -178,8 +192,8 @@ describe('gdjs.ShapePainterRuntimeObject (using a PixiJS RuntimeGame with assets
|
||||
const object = makeShapePainterRuntimeObject(runtimeScene);
|
||||
|
||||
object.drawLineV2(0, 0, 10, 10, 2);
|
||||
expect(object.getWidth()).to.be(12);
|
||||
expect(object.getHeight()).to.be(12);
|
||||
expect(object.getWidth()).to.be(11.414213562373096);
|
||||
expect(object.getHeight()).to.be(11.414213562373096);
|
||||
|
||||
// Check changes in position/scale are taken into account:
|
||||
object.setPosition(50, 100);
|
||||
|
@@ -546,7 +546,7 @@ namespace gdjs {
|
||||
this._oldWidth = pixiRenderer.screen.width;
|
||||
this._oldHeight = pixiRenderer.screen.height;
|
||||
}
|
||||
const oldRenderTexture = pixiRenderer.renderTexture.current;
|
||||
const oldRenderTexture = pixiRenderer.renderTexture.current || undefined;
|
||||
const oldSourceFrame = pixiRenderer.renderTexture.sourceFrame;
|
||||
pixiRenderer.renderTexture.bind(this._renderTexture);
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
1110
GDJS/package-lock.json
generated
1110
GDJS/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@
|
||||
"lebab": "^3.1.0",
|
||||
"minimist": "^1.2.5",
|
||||
"patch-package": "^6.4.7",
|
||||
"pixi.js": "6.1.2",
|
||||
"pixi.js": "^6.5.10",
|
||||
"prettier": "2.1.2",
|
||||
"recursive-readdir": "^2.2.2",
|
||||
"shelljs": "^0.8.4",
|
||||
|
1000
newIDE/app/package-lock.json
generated
1000
newIDE/app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -53,7 +53,7 @@
|
||||
"node-require-function": "^1.2.0",
|
||||
"pixi-simple-gesture": "github:4ian/pixi-simple-gesture#v0.3.3",
|
||||
"path-browserify": "^1.0.1",
|
||||
"pixi.js-legacy": "6.1.2",
|
||||
"pixi.js-legacy": "^6.5.10",
|
||||
"posthog-js": "^1.57.2",
|
||||
"prop-types": "^15.5.10",
|
||||
"qr-creator": "^1.0.0",
|
||||
|
Reference in New Issue
Block a user