Объект проходит через коллизию при большой скорости

168
11 января 2019, 00:50

Делаю игру с видом сверху. Делаю так чтобы мышка не выходила за камеру.

reticle = this.physics.add.sprite(player.x,player.y, 'reticle');
        reticle.setOrigin(0.5, 0.5).setCollideWorldBounds(true)
        reticle.body.allowGravity=false;  
 invisible_h = this.physics.add.group();
        createwall(invisible_h,false,0,0,"white-h",2,1)
        createwall(invisible_h,false,0,900,"white-h",2,1)
        createwall(invisible_h,false,player.x-900,0,"white",1,2)
        createwall(invisible_h,false,900,0,"white",1,2)
this.physics.add.collider(reticle,invisible_h)
this.input.on('pointermove', function (pointer) {
                if (this.input.mouse.locked)
                {
                    reticle.setVelocityX(pointer.movementX*60) 
                    reticle.setVelocityY(pointer.movementY*60) 
                }
            }, this)   
function update(){

reticle.setVelocityX(0);
reticle.setVelocityY(0);
// делает так чтобы мышка не отставала от игрока
reticle.body.velocity.x = player.body.velocity.x;
reticle.body.velocity.y = player.body.velocity.y;
}
function createwall(group,gravity,x,y,sprite,sx,sy){
    let wall= group.create(x,y,sprite);
    wall.body.allowGravity=false;
    wall.setScale(sx,sy)
    wall.body.immovable = true;
}

Сначала мышка не проходит через стенку, но если двигаю reticle быстро, то она проходит через неё. Как решить эту проблему?

P.S коллизия перестает работать при velocity >= 1440. Может это связано с частотой обновления?

READ ALSO
Как получить координаты курсора секунду назад?

Как получить координаты курсора секунду назад?

Это нужно для того, чтобы при смещении курсора влево запускалась одна анимация, при смещении курсора вправо - другая, если координаты остались...

149
Node.js socket.io emit не работает с кириллицей

Node.js socket.io emit не работает с кириллицей

имеется два варианта кода на сервере:

190
Как переписать функции fadeIn, fadeOut в нативном javascripte?

Как переписать функции fadeIn, fadeOut в нативном javascripte?

Есть блоки, которые замещают один одного при клике на кнопку без перезагрузки страницыКод я написал используя jquery, но теперь думаю, как его...

152
Как добавить новый тег после другого тега внутри тега?

Как добавить новый тег после другого тега внутри тега?

Надо внутри тега article добавить новый тег hr после каждого p( c помощью js)Попробовал такой способ:

171