본문 바로가기

AS3/ActionScript

칼라 트랜지션

//rgb값들

public var r:Number = 0; 
public var g:Number = 127; 
public var b:Number = 255;

//rgb인터벌값들 
public var ri:Number = 0.025; 
public var gi:Number = 0.025; 
public var bi:Number = 0.025;

//rgb변환양 값 
public var rm:Number = 58+41; 
public var gm:Number = 58+41; 
public var bm:Number = 58+41;

//256 - rgb변환양 값(static값) 
public var ra:Number = 197-41; 
public var ga:Number = 197-41; 
public var ba:Number = 197-41;

color = Math.sin(r += ri) * rm + ra << 16 | Math.sin(g += gi) * gm + ga << 8 | Math.sin(b += bi) * bm + ba

여기서 이부분!!!

r << 16 | g << 8 | b

a<<b

a를 비트b만큼 왼쪽으로 이동 <<16은 16진수로 볼때 왼쪽으로 4칸 이동하고 이동한 부분에 0이 채워지죠

a|b

비트 or연산인데요 두개의 비트열이 0이 아니면 1로 떨어집니다

결국 a랑 b랑 자리수가 틀리면 + 가 되겠지요

 

[출처] 칼라 트랜지션 (플래시(Flash)로 생계를 이어가는 사람들의 모임:플생사모) |작성자 장원희