我正在做一个精灵的简单旋转,但是有一个奇怪的行为,精灵不会围绕它的左上角旋转。我想我沿着测试类的左上角而不是精灵子进行旋转。我想旋转左上角的矩形(有点像钟针)。该代码是很短,所以我会让代码+图片解释我的问题:旋转精灵将精灵从原始位置移动
package
{
import flash.display.Sprite;
public class test extends Sprite
{
public function test()
{
var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0x000000);
mySprite.graphics.drawRect(100,100,6,120);
mySprite.graphics.endFill();
this.addChild(mySprite);
mySprite.rotation = 45;
}
}
}
似乎太简单了,搞砸了,还有这里的结果。红线位于主键上方以供参考。第一张图我设置mySprite.rotation=0
和第二个是上面显示的代码:
我读了很多东西约定点周围旋转,我已经试过影片剪辑,而不是精灵做,我甚至复制粘贴tutorial on rotation,没有任何作品。为什么会发生这种行为,我该如何解决?
编辑:谢谢大家,所有的建议都以不同的方式帮助我,他们都是正确的,所以+1,我会选择我选择在我的代码中使用的解决方案。
啊,谢谢。所以当我在100,100处画一个矩形时,图形仍然是0,0,因为它是左上角的? (我假设0,(我的矩形的右侧)作为右上角?)我应该渲染所有图形在0,0和移动它们? – NorthGuard
右上角是(宽度,0)。 (宽度,高度)在右下方。 – taskinoor