AS3怎么控制位图Bitmap的旋转

 我来答
不是黑洞8539
2013-08-24 · TA获得超过104个赞
知道答主
回答量:129
采纳率:66%
帮助的人:69.5万
展开全部
s.addChild(image);//旋转就旋转这个s ============ 这个是注册点的问题,在flash程序里面,显示对象缩放、旋转都是基于注册点,flash里面不可以直接修改注册点的位置,我们可以换一个思路解决问题。 flash里面是基于显示对象的,旋转一个容器,容器里面的子对象会跟随父容器旋转,位图导入之后注册点的位置是位于右上角,你可以new一个sprite对象sp,然后将bitmap添加到sp对象里面,去设置bitmap的位置,然后旋转sp就行了 var sp:sprite=new Sprite() addChild(sp) sp.addChild(bitmap) bitmap.x=-bitmap.width/2 bitmap.y=-bitmap.height/2 这样旋转sp对象就相当于bitmap绕着中心旋转 ============= 呵呵,当然也能使用Matrix实现绕任意点旋转, import flash.display.Bitmap; import flash.display.DisplayObject; import flash.geom.Matrix; var bitmap:Bitmap = new Bitmap(new Bitmap1()); bitmap.x = 262-bitmap.width/2; bitmap.y = 146-bitmap.height/2; addChildAt(bitmap, 0); var matrix:Matrix = bitmap.transform.matrix; // 注意旋转要相对于最初的matrix, 否则效果将跟你想的不一致. rotate(bitmap, 30, bitmap.width/2, bitmap.height/2, matrix); function rotate(dis:DisplayObject, rotation:int, px:int, py:int, original:Matrix):void{var tx:int = dis.x + px; var ty:int = dis.y + py; var m:Matrix = original.clone(); m.translate(-tx, -ty); m.rotate(rotation/180*Math.PI);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式