Определение текущего поворота с помощью Paper.js

Я делаю небольшую игру-стрелялку с Paper.js, но не могу найти, что Paperscript предоставляет какой-либо способ получить текущую ротацию моей группы элементов.

В приведенном ниже коде вращение «круговой группы» с помощью клавиш Q и E должно влиять на навигацию WASD, перемещая элемент в направлении, на которое в данный момент указывает «нос» объекта. Я полагаю, что мне нужно получить текущее вращение моих элементов, чтобы повлиять на навигацию. Предоставляет ли Paper.js какой-либо способ сделать это?

You can see/ отредактируйте Papersketch здесь

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);
  }
}

person PHearst    schedule 20.12.2013    source источник


Ответы (3)


Нет, для каждого объекта не сохраняется свойство поворота. Вам нужно будет определить его для каждого объекта или класса самостоятельно. Взгляните на игру Paperoids, включенную в репозиторий Github для более подробный пример.

person Alex Blackwood    schedule 20.12.2013

На самом деле теперь есть свойство вращения, как написано здесь:

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

Чтобы это работало, вам в настоящее время необходимо установить для #transformContent значение false (также описано в сообщении выше). Вскоре это станет поведением по умолчанию.

person Jürg Lehni    schedule 05.01.2014

Наткнулся на этот вопрос в 2017 году... есть свойство Path.position http://paperjs.org/reference/path/#rotation

person wkd    schedule 13.11.2017