我正在寻找一种在拖动方向上旋转精灵的方法

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

以上是关于我正在寻找一种在拖动方向上旋转精灵的方法的主要内容,如果未能解决你的问题,请参考以下文章

基于中心点旋转和缩放几个精灵的位置?

片段着色器中的OpenGL点精灵旋转

一种在画布中“切换”图像的方法,就好像它是 gif

Xcode Swift 3 / SpriteKit:点击精灵

我正在寻找一种在 Oracle SQL Developer 中搜索某个单词的方法

寻找一种在 C# 中平滑鼠标移动的方法