Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在其位置旋转一个Two.js对象_Javascript_Css_Two.js - Fatal编程技术网

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:事后规范化 在这个例子中,我们使用的是我们已经拥有的。A
Two.Group
,包含我们所有的形状(较大的圆以及较小的圆的数组)。使用方法
group.center()(第31行)我们可以将组的子项规格化为(0,0)左右。然后,我们可以更改组的
翻译
,以便处于所需位置


注意:这个例子有点复杂,因为它调用了下划线的
defer
方法,该方法在注册所有更改后强制将组居中。我正在修复此问题。

代码笔的代码在javascript控制台上出现此错误:“Uncaught ReferenceError:Two未在pen.js中定义:-13”使用最新的Two.js更新了代码笔。现在开始工作,感谢您的回复。