Javascript 在其位置旋转一个Two.js对象
我有一个大圆圈,里面有小圆圈 我的问题是,这两个不旋转在自己的地方,但在左上轴。 我希望圆圈组(Javascript 在其位置旋转一个Two.js对象,javascript,css,two.js,Javascript,Css,Two.js,我有一个大圆圈,里面有小圆圈 我的问题是,这两个不旋转在自己的地方,但在左上轴。 我希望圆圈组(circlesGroup)仅在大圆圈内静止旋转。circlegroup和大圆被分组为rotatoGroup two.bind('update', function(frameCount, timeDelta) { circlesGroup.rotation = frameCount / 120; }); two.bind('update', function(frameCount, timeD
circlesGroup
)仅在大圆圈内静止旋转。circlegroup
和大圆被分组为rotatoGroup
two.bind('update', function(frameCount, timeDelta) {
circlesGroup.rotation = frameCount / 120;
});
two.bind('update', function(frameCount, timeDelta) {
rotatoGroup.rotation = frameCount / 60;
});
整个代码都在中。使用
two调用时,所有可见的形状。make…
(圆、矩形、多边形和线)都位于中心,如以下Adobe Illustrator示例所示:
当此形状的平移
、旋转
或缩放
更改时,这些更改将反映为围绕形状中心的变换
Two。但是,组
s的行为方式并非如此。将其视为显示较少的矩形。它们是原点,即组。平移向量总是从(0,0)开始。在您的情况下,您可以通过规范化翻译来处理这一问题
示例1:在规范化空间中预定义
在这个例子中,我们定义了-100100周围的所有圆的位置,实际上是正负x和y方向半径的一半。一旦我们在这些约束范围内定义了圆,我们就可以使用group.translation.set
将整个组移动到屏幕中央。现在,当圆旋转时,它们被视为围绕着自己旋转
示例2:事后规范化
在这个例子中,我们使用的是我们已经拥有的。ATwo.Group
,包含我们所有的形状(较大的圆以及较小的圆的数组)。使用方法group.center()代码>(第31行)我们可以将组的子项规格化为(0,0)左右。然后,我们可以更改组的翻译
,以便处于所需位置
注意:这个例子有点复杂,因为它调用了下划线的defer
方法,该方法在注册所有更改后强制将组居中。我正在修复此问题。代码笔的代码在javascript控制台上出现此错误:“Uncaught ReferenceError:Two未在pen.js中定义:-13”使用最新的Two.js更新了代码笔。现在开始工作,感谢您的回复。