Detecting current rotation with Paper.js

六月ゝ 毕业季﹏ 提交于 2019-12-10 16:45:16

问题


I'm making a small shoot 'em up game with Paper.js, but I'm unable to find that Paperscript provides any way to get the current rotation of my group of items.

In the code beneath, rotating 'circlegroup' with Q and E keys, should affect the WASD navigation, moving the item in the direction that the 'nose' of the object is currently pointing at. I figure that I need to get the current rotation of my items in order to affect the navigation. Does Paper.js provide any way to do this?

You can see/edit the Papersketch here

bigcircle = new Path.Circle({
  radius:10,
  fillColor: 'grey',
  position: (10, 20),
  selected: true
});

smallcircle = new Path.Circle({
  radius:5,
  fillColor: 'black'
});

var circlecontainer  = new Group({
  children:[smallcircle, bigcircle],
  position: view.center
});


var circlegroup = new Group({
  children: [circlecontainer]
});

function onKeyDown(event) {
  if(event.key == 'w') {
    circlegroup.position.y -= 10;
  }
  if(event.key == 'a') {
    circlegroup.position.x -= 10;
  }
  if(event.key == 's') {
    circlegroup.position.y += 10;
  }
  if(event.key == 'd') {
    circlegroup.position.x += 10;
  }
  if(event.key == 'q') {
      // hold down
    circlegroup.rotate(1);
  }
  if(event.key == 'e') {
      // hold downw
    circlegroup.rotate(-1);
  }
}

回答1:


No, there's no rotation property stored per object. You'll need to define it per object or class yourself. Take a look at the Paperoids game included in the Github Repository for a more detailed example.




回答2:


There actually is a rotation property now, as written about here:

https://groups.google.com/forum/#!topic/paperjs/Vwp5HbTo9W0

In order for this to work, you currently need to set #transformContent to false (also described in the above post). This will soon become the default behavior.




回答3:


Stumbled upon this question in 2017... there is a Path.position property http://paperjs.org/reference/path/#rotation



来源:https://stackoverflow.com/questions/20701819/detecting-current-rotation-with-paper-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!