Показать сообщение отдельно
Старый 26.01.2011, 17:12
magistr__ вне форума Посмотреть профиль Отправить личное сообщение для magistr__ Найти все сообщения от magistr__
  № 12  
Ответить с цитированием
magistr__

Регистрация: Nov 2010
Сообщений: 4
Я в принципе похожее реализовывал программно.
Вот пример кода
Код AS3:
package coreDisplay 
{
	import flash.display.*;
	import flash.geom.ColorTransform;
	import flash.geom.Matrix;
	import flash.geom.Rectangle;
	public class Background extends MovieClip 
	{
		private var shape:Shape
		private var colorGradient:Sprite
		private var correctionGradient:Sprite
		private var topGradient:Sprite;
		private var masking:Sprite;
		public function Background() 
		{
			init()
		}
		private function init() {
			var matrix:Matrix = new Matrix()
			matrix.createGradientBox(960,630,-(Math.PI/4),0,0)
			colorGradient = new Sprite()
			colorGradient.name='color'
			colorGradient.graphics.beginGradientFill('linear', [0xF1F1F5, 0xF1F1F5], [0.5, 0.8], [0, 255], matrix)
			colorGradient.graphics.drawRect(0, 0, 960, 630)
			colorGradient.graphics.endFill()
			var matrix1:Matrix = new Matrix()
			matrix1.createGradientBox(550,600,0,200,100)
			correctionGradient = new Sprite;
			correctionGradient.graphics.beginGradientFill('radial', [0xffffff,0xffffff],[1,0.0], [0, 255],matrix1)
			correctionGradient.graphics.drawCircle(480,370,500)
			correctionGradient.graphics.endFill()
			correctionGradient.blendMode = BlendMode.OVERLAY
			topGradient = new Sprite();
			var matrix2:Matrix=new Matrix()
			matrix2.createGradientBox(960,173,(Math.PI/2),0,0)
			topGradient.graphics.beginGradientFill('linear', [0xffffff, 0xffffff], [1, 0], [0, 255], matrix2);
			topGradient.graphics.drawRect(0, 0, 960, 173)
			topGradient.graphics.endFill()
			this.addChild(colorGradient)
			this.addChild(correctionGradient)
			this.addChild(topGradient)
			masking=new Sprite()
			masking.graphics.beginFill(0x000000, 1)
			masking.graphics.drawRoundRect(0, 0, 960, 680, 15, 15)
			masking.graphics.endFill()
			addChild(masking)
			this.mask=masking
			var obj = this.getChildAt(0)
			this.swapChildren(obj, colorGradient)
			this.swapChildren(obj, correctionGradient)
			this.swapChildren(obj, topGradient)			
		}
		public function changeBg(color:String) {
			var colGradient:Sprite=(this.getChildByName('color') as Sprite)
			for (var i = color.length; i < 6; i++ ) {
				color='0'+color
			}
			var matrix:Matrix = new Matrix()
			matrix.createGradientBox(960,630,-(Math.PI/4),0,0)
			var colValue:uint = uint('0x'+color)
			colGradient.graphics.clear()
			colGradient.graphics.beginGradientFill('linear', [colValue, colValue], [0.5, 0.8], [0, 255], matrix)
			colGradient.graphics.drawRect(0, 0, 960, 630)
			colGradient.graphics.endFill()
		}
 
	}
}