태그 보관물: Flick List

KineticScroll 소스 및 샘플 다운로드

그동안 만들고 있던 KineticScroll 을 SWC 형식으로 공개합니다.

이전 포스트에서와 마찬가지로, 다음과 같이 간단하게 사용할 수 있습니다.

var ks1:KineticScroll = new KineticScroll();
ks1.setTarget(mc1, 0, 400);

필요에 따라서 KineticScrollEvent.UPDATE 이벤트 리스너를 등록하여, 별도의 동작을 하도록 처리도 가능합니다. 예를 들어 스크롤바와 연결 시켜야 한다던가 하는 경우 말이죠.

var ks2:EndlessKineticScroll = new EndlessKineticScroll();
ks2.addEventListener(KineticScrollEvent.UPDATE, ksListener2);
ks2.setTarget(mc2);
 
function ksListener2(e:KineticScrollEvent):void{
    // 별도 처리 코드
}

샘플 및 소스 다운로드: KineticScroll_Samples

Kinetic scrolling experiment 3.

세 번째로 만든 키네틱 스크롤 샘플. 버그 수정 및 플리킹 감도 조절 등 수정이 있습니다.

다음 코드와 같이 최대한 간단히 사용할 수 있도록 만드는 중……

var flicking0:KineticScroll = new KineticScroll();
flicking0.setTarget(mc0, 0, 400);

물론 2,3번째 롤링 효과같이 부가적인 기능들을 적용하기 위해서는 코드를 더 추가해 주어야 하죠.

var flicking2:EndlessKineticScroll = new EndlessKineticScroll();
flicking2.addEventListener(KineticScrollEvent.UPDATE, flickingListener2);
flicking2.setTarget(mc2);
 
function flickingListener2(e:KineticScrollEvent):void{
	var ty:Number = -int(mc2.y / HEIGHT + 1);
	var sq:ListItem;
	for(var i:uint=0; i<CNT; i++){
		sq = mc2["m" + ((i + (ty % CNT) + CNT) % CNT)] as ListItem;
		sq.y = (ty * HEIGHT) + (HEIGHT * i);
		sq.setData( "Data " + (((ty + i) % MAX + MAX) % MAX) );
	}
}