• [原创]ActionScript3游戏中的图像编程(连载十二)


    总目录:http://www.cnblogs.com/iloveas/p/3879125.html

     

    1.2.7 线性提高或降低alpha值

          提高alpha(图 1.14):_myColorTransform.alphaOffset = 100;

          降低alpha值(图 1.15):_myColorTransform.alphaOffset = -100;

    图 1.14 线性提高alpha

    图 1.15 线性降低alpha


      
          粗略一看,它跟设置alpha似乎没什么两样,但仔细观察就会发现,当alphaOffset提高的时候,周边比较透明的像素渐渐地淡入到1,相反,降低的时候,周边会慢慢地淡出到0。所以,虽然仅仅是一个简单的线性变换,但是拿来做光圈或者黑洞的扩散或者收缩效果将会相当不错。

          下面,我们做个直接设置alpha的版本来对照下效果。

    1.2.8 设置alpha值

          _myColorTransform.alphaMultiplier = 0.7; (图 1.16)

          注意到设置alpha跟设置颜色不同,它要在原有像素的基础上设置倍率才符合alpha的概念,效果才跟设置displayObject.alpha一致。

          _myColorTransform.alphaMultiplier = 1.5; (图 1.17)

    图 1.16 倍乘降低alpha

    图 1.17 倍乘提高alpha

          可以看出,alpha的变换呈现为整体性,因此没有扩散收缩的效果,如果您有跟着我一起测试的话,就不妨用补间引擎或者EnterFrame来测试两种效果过渡的差别。作者认为alphaOffset的效果要比multiplier漂亮多了。
    如果像设置颜色那样,把multiplier弄成0,像素点的透明度就统一起来了。这个效果虽然不甚美观,但是很适合用来做一些图像的预处理工作。

          代码如下:

    1 _myColorTransform.alphaMultiplier = 0;
    2 _myColorTransform.alphaOffset = 127;

          效果如图 1.18所示。

     

    图 1.18 让每个像素点的alpha相等

     

          在alpha通道方面,ColorTransform没让咱们失望,毕竟它独立于色彩模式,而且只有一个值,运算的处理也相对容易把握一些。

  • 相关阅读:
    abstract关键字
    方法重写
    对象初始化过程
    访问修饰符
    super关键字
    继承
    转发和重定向的区别
    tomcat中乱码问题解决
    jsp执行过程
    web程序常见错误及解决方法
  • 原文地址:https://www.cnblogs.com/iloveas/p/3888488.html
Copyright © 2020-2023  润新知