如何角色只站在瓷砖的中心而不是我们的瓷砖网站

How to charachter stand only center of tile not our site of tile

我的代码在这里,请看。我已经尝试了我的选择但坚持了这一点。 https://www.codepile.net/pile/7mPpA9m0

我做了什么,请分享我最好的解决方案。我被困在过去的两周里。在这个问题上请帮助我

如预览评论中所述(我无法回答,因为问题已关闭),问题是物理对象的 bounding-box。
可以是播放器也可以是平台,具体看图片。

要确定打开Phaser Game Object config中的调试信息(debug: true)。 (可以在这里找到一个不错的演示:https://phaser.io/examples/v3/view/physics/arcade/custom-debug-colors
然后调整边界框的大小。 _(可以在这里找到一个不错的演示:https://phaser.io/examples/v3/view/physics/arcade/smaller-bounding-box

我在这里你可以看到我的意思。
红色和白色玩家的边界框是一样的,但是我用函数setSize把白色玩家的框变小了,用函数[=15=调整了边界框的位置].

这是一个工作演示:

var config = {
    type: Phaser.AUTO,
    width: 536,
    height: 183,
    scene: {
        create: create
    },
    physics: {
        default: 'arcade',
        arcade: {            
            gravity:{y:100},
            //show debug information
            debug: true
        }
    },
    banner: false
}; 

function create () {
    // JUST FOR DEMO START
    let graphics = this.make.graphics();
    graphics.fillStyle(0xffffff);
    graphics.fillRect(10,5,10,25);
    graphics.generateTexture('player', 30, 30);
    // JUST FOR DEMO END
    
    
    let platform = this.add.rectangle(150, 120, 100, 20, 0x00ff00)
      .setOrigin(0, 1);
      
    this.physics.add.existing(platform)
      .body
      .setImmovable(true)
      .setAllowGravity(false);
      
    let player = this.add.image(136, 50, 'player')
      .setOrigin(.5, 1)
      .setTint(0xff0000);
      
    this.physics.add.existing(player);
    
    let player2 = this.add.image(136, 50, 'player')
      .setOrigin(.5, 1);
      
    this.physics.add.existing(player2)
      .body
      // CHANGE SIZE OFF PHYSICS BOX
      .setSize(14, 25, false)
      .setOffset(8, 5)
      .setAllowGravity(false)
      .setVelocityY(10)
    
    
    this.physics.add.collider(player, platform);
    this.physics.add.collider(player2, platform);
      
}

var game = new Phaser.Game(config);
<script src="https://cdn.jsdelivr.net/npm/phaser@3.55.2/dist/phaser.js">
</script>

取决于,如果您的玩家或您的平台 bounding-box 太大,您将不得不调整它,或制作图像,具有不太透明的边框。