小编Pro*_*mer的帖子

Phaser 3:图像在缩小时像素化

我将图像作为精灵添加到画布中,并使用.setScale(0.1).

问题是图像看起来像素化(而图像文件本身是高分辨率的)。

在我缩小图像之前,它看起来很好。该问题仅在缩放后发生。

这是我导入移相器 3 的图像文件(在我的计算机的图像查看器中缩放):
在此处输入图片说明

这是图像在缩小之前在 Phaser 3 上的外观(很好):

(这里的色调不同,但没关系)

fdfd

这是缩小后的样子:

如您所见,结果非常像素化。 我怎样才能克服这个问题?

非常感谢提前这是我的代码的缩短版本:

var config = {
  backgroundColor: "#ffb3c9",
  type: Phaser.WEBGL,
  width: 600,
  height: 600,
  parent: "pageContent",
  physics: {
    default: "arcade",
    arcade: {
      gravity: { y: 200 },
    },
  },
  scene: {
    preload: preload,
    create: create,
  },
};
var game = new Phaser.Game(config);
function preload() {
    this.load.image("img", "img.png");
}
function create() {
    var sprite = this.add.sprite(50,50,"img").setScale(0.1);
    sprite.tint = 0x000000;
}
Run Code Online (Sandbox Code Playgroud)

更新

我发现这个问题是由于使用了 HTML 画布造成的。但是,有一些方法可以克服这个问题:

  • 手动编写某些算法以更好地调整大小。
  • 使用 …

javascript phaser-framework

7
推荐指数
0
解决办法
465
查看次数

Firebase数据库规则-获取displayName

我将Firebase添加到我的网站并创建了一个注册表单。当用户单击“注册”按钮时,它将使用“ Firebase身份验证”创建用户,然后更新用户的displayName,最后将有关该用户的一些数据添加到数据库中:

firebase.auth().createUserWithEmailAndPassword(email, password).then(function () {

    profile = firebase.auth().currentUser;

    profile.updateProfile({
       displayName: "name-value"
    }).then(function() {

        // Update successful.

        firebase.database().ref("/users/" + profile.uid).set({
            data:{
                country: "country-value",
                city: "city-value"
            }
        });
    });
}).catch(function(error) {
    // Handle Errors here.
});
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我从以下位置更改数据库规则:

{
    "rules": {
        ".read": true,
        ".write": true
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

至:

{
    "rules": {
        "users": {
            ".read": true,
            "$user": {
                ".write": "auth.token.name !== null"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用了auth.token.name,因为它是在指南中写的,用来检查用户的displayName是否存在(我计划稍后再检查它的更多内容)。尽管我之前设置了displayName,但“ firebase规则”以某种方式“认为” auth.token.name等于null。为什么会发生这种情况,我该怎么做才能使其起作用?

提前致谢 :)

firebase firebase-realtime-database firebase-security-rules

5
推荐指数
1
解决办法
608
查看次数