我正在与Paper.js进行小型射击游戏, 但我无法找到Paperscript提供任何方式来获得当前轮换 我的一组物品。
在下面的代码中,使用Q和E键旋转'circlegroup'应该影响WASD导航,将项目移动到对象的“鼻子”当前指向的方向。我认为我需要获取我的项目的当前轮换 影响导航。 Paper.js能提供任何方法吗?
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);
}
}
答案 0 :(得分:7)
现在实际上有一个旋转属性,如下所示:
https://groups.google.com/forum/#!topic/paperjs/Vwp5HbTo9W0
为了使其工作,您当前需要将#transformContent设置为false(也在上面的帖子中描述)。这很快就会成为默认行为。
答案 1 :(得分:0)
不,每个对象没有存储旋转属性。您需要自己为每个对象或类定义它。请查看Github Repository中包含的Paperoids游戏,以获取更详细的示例。
答案 2 :(得分:0)
2017年偶然发现了这个问题......有一个Path.position属性http://paperjs.org/reference/path/#rotation