码迷,mamicode.com
首页 > 其他好文 > 详细

AS3 居中水平、垂直翻转DisplayObject

时间:2015-02-06 15:15:28      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:as3水平   displayobject   垂直翻转   

注:这里的DisplayObject的注册点都在左上角的原点(0,0)处,也就是说显示对象里面的内容的左上角与(0,0)坐标重合,如果你已经把显示对象的注册点弄到了内容的中心上,就不能不需要用这段代码了。


//com.cstar.utils.FlipUtil.as

package com.cstar.utils
{
    public class FlipUtil
    {
        public static function flipH(target:DisplayObject):void
        {
            if(!target)
            {
                return;
            }
            
            var matrix:Matrix=target.transform.matrix;
            //如果设置了3D属性,则matrix会变成null,无法再执行2D水平翻转
            if(!matrix)
            {
                return;
            }
            
            var m:Matrix=new Matrix(-1,0,0,1,target.x+target.width,0);
            matrix.concat(m);
	    target.transform.matrix=matrix;
        }
        
        public static function flipV(target:DisplayObject):void
        {
            if(!target)
            {
                return;
            }
            
            var matrix:Matrix=target.transform.matrix;
            //如果设置了3D属性,则matrix会变成null,无法再执行2D垂直翻转
            if(!matrix)
            {
                return;
            }
            
            var m:Matrix=new Matrix(1,0,0,-1,0,target.y+target.height);
            matrix.concat(m);
	    target.transform.matrix=matrix;
        }
    }
}


AS3 居中水平、垂直翻转DisplayObject

标签:as3水平   displayobject   垂直翻转   

原文地址:http://cstar.blog.51cto.com/2923639/1612253

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!