我正在寻找一种在拖动方向上旋转精灵的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我正在寻找一种在拖动方向上旋转精灵的方法相关的知识,希望对你有一定的参考价值。
如何在拖动时沿拖动方向旋转精灵?我不希望精灵旋转到输入指针(toch,鼠标),如果它没有像素完美点击。此外,我仍然希望能够使用phaser框架在sprite上使用物理。
update: function() {
this.game.physics.arcade.collide(this.car, this.block);
// this.game.physics.arcade.overlap(this.car, this.traffic, this.bremsen);
/*if(this.car.input.pixelPerfectOver=true){
this.angleBetweenPoints();
};*/
//this.car.rotate=this.car.angle;
//game.debug.spriteInputInfo(this.car, 32, 32);
},
angleBetweenPoints: function (point1, point2) {
this._dragPoint = new Phaser.Point(this.car.x, this.car.y);
Phaser.Math.angleBetween(this.car.x,
this.car.y, game.input.activePointer.x,game.input.activePointer.y);
this.car.angle= Phaser.Math.angleBetween(this.game.input.activePointer.x,
this.game.input.activePointer.y, this._dragPoint.x,this._dragPoint.y);
},
animatecar: function(sprite, event) {
if ((this.angleBetweenPoints(this.car.y, this.game.input.activePointer.y)) > 0.1) {
console.log(this.angleBetweenPoints(this.car.y, game.input.y));
}
this.car.input.enableDrag();
},
答案
您正在直接为精灵分配旋转,但在使用物理实体时,您应该更改主体上的旋转:
this.car.body.rotation = ... // For radians
this.car.body.angle = ... // For degrees
以上是关于我正在寻找一种在拖动方向上旋转精灵的方法的主要内容,如果未能解决你的问题,请参考以下文章
Xcode Swift 3 / SpriteKit:点击精灵