AshUIC 씨리즈는 게으름으로 작년
10월 이후 중단 되었다가 요며칠 겨우 완성시켰다. 계획은
AshComboBox까지는 완료한 후
AshUIC는 일단락 지을 생각이다.
(구성요소 작업은 솔직히 너무 고되다...)우선
AshScrollPane은 애플리케이션에서 대부분 사용되는
container, frame 등으로 생각할수 있다. 스크롤패널이 포함되는 최상위 코어임으로
List, Pane,Frame,ImageViewer 등 모든 시각적 스크롤을 가진 컨테이너에서는 대부분 사용할수 있는 유용한 구성요소이다.
본 클래스의 장점은 클래스편에도 소개했지만, 기존 ScrollPane들이다소 협소한 기능을 혹은 추가로 구현을 해야 하는 모든 기능들을 코어단계에서 함축시켰다는데 있다. 사용성을 극대화한 커스텀 스타일, 스크롤바변경, 모셔닝, scrollRect와 mask 의 두가지 형식을 모두 지원함으로써 원천적인 그래픽표현의 애러를 막고, 핸드드래깅 등도 추가됬다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import ash3.uic.AshScrollPane;
var asp:AshScrollPane = new AshScrollPane;
addChild(asp);
// 사이즈를 150,150 영역으로 조정
asp.resize(150,150);
// content 영역에 테스트를 위해 기본 content1을 추가시킴
asp.content.addChild(new Content1);
// 랜덤 버튼을 클릭할때 스크롤팬 모셔닝으로 리사이징
btn_ranSize.addEventListener('click', function(e) {
asp.motioner.width = Math.random()*300+150;
asp.motioner.height = Math.random()*300+150;
});
// 랜덤 컨텐츠 영역사이즈 버튼을 클릭할때 스크롤팬의 contentLayoutStyle을 변경해서 런타임에 스타일을 바로 적용
btn_conSize.addEventListener('click', function(e) {
asp.contentLayoutStyle = { top:Math.random()*10, right:Math.random()*10, bottom:Math.random()*10, left:Math.random()*10 };
});
// 랜덤 스크롤바 스타일변경 버튼을 클릭할때 스크롤바에 커스텀 스타일을 바로 적용
btn_ran_sb.addEventListener('click', function(e) {
asp.hScrollBarLayoutStyle = {right:Math.random()*10, bottom:Math.random()*10, left:Math.random()*10, size:Math.random()*20+16 };
asp.vScrollBarLayoutStyle = {top:Math.random()*10, right:Math.random()*10, bottom:Math.random()*10, size:Math.random()*20+16 };
asp.hScrollBar.motioner.uicColor = uint(Math.random()*0xffffff);
asp.vScrollBar.motioner.uicColor = uint(Math.random()*0xffffff);
});
// 컨텐츠 추가 버튼을 클릭할때마다 컨텐츠위치조정과 함께 추가(스크롤영역 변경확인을 위해)
btn_addCon.addEventListener('click', function(e) {
var lc = asp.content.getChildAt(asp.content.numChildren-1);
var con = asp.content.addChild(new Content2);
con.x = lc.x+50;
con.y = lc.y+50;
});
// 마스크 사용버튼을 클릭할때 scrollRect/mask 를 토글 설정
btn_use_mask.addEventListener('click', function(e) {
asp.useMaskToScroll = e.currentTarget.selected;
});
// 모션 사용버튼을 클릭할때 스크롤처리를 할때 모션 처리를 할지를 토글 설정
btn_use_motion.addEventListener('click', function(e) {
asp.useMotionToScroll = e.currentTarget.selected;
});
// 핸드 드래그 버튼을 클릭할때 스크롤처리를 할때 handDrag 사용을 할지를 토글 설정
btn_use_hd.addEventListener('click', function(e) {
asp.handDrag = e.currentTarget.selected;
});
asp.move(20,120);
asp2.content.addChild(new Content1);