fix: Исправлен эффект увеличения ширины ракетки, работа NineSliceSprite

This commit is contained in:
Ilia Mashkov
2026-07-21 11:25:00 +03:00
parent 3432d02eaf
commit 8cfe62a064
+6 -4
View File
@@ -41,8 +41,9 @@ function createBallView(ball, textures) {
function createPaddleView(paddle, textures) {
const texture = textures['/sprites/paddle.png'];
const paddleSprite = new NineSliceSprite({ texture, leftWidth: 150, rightWidth: 150, topHeight: 0, bottomHeight: 0 });
paddleSprite.width = paddle.width;
paddleSprite.height = paddle.height;
const paddleAspectRatio = paddle.height / texture.height;
paddleSprite.scale.set(paddleAspectRatio);
paddleSprite.width = paddle.width / paddleAspectRatio;
return paddleSprite;
}
@@ -174,8 +175,9 @@ export function createGameView(game, container, textures) {
* @param {object} textures объект с текстурами для визуального отображения
*/
export function managePerkViewsLifetime(views, game, container, textures) {
if (views.paddle.width !== game.paddle.width) {
views.paddle.width = game.paddle.width;
// Изменяем ширину отображения ракетки основываясь на aspect ratio по оси X и ширине ракетки
if (views.paddle.width * views.paddle.scale.x !== game.paddle.width) {
views.paddle.width = game.paddle.width / views.paddle.scale.x;
}
for (const [ball, ballView] of views.balls) {