[UI&C Lab] Draw Path...

Project/UI&C Lab 2007. 2. 21. 10:58

이번에는 만들어 놓은 Draw Path Recorder를 이용하여 path 경로를 축출하여 나무가지가 뻗어나가며 꽃과 잎이 돋아나는 형태의 결과물을 만들게 되었다. draw path를 가져와서 라인을 그리는 클래스에서 추가적인 기능을 넣는 것으로 완성을 하게 되었는데 그 과정은 다음과 같다.

사용자 삽입 이미지
 
라인을 path에 따라 그려주는 클래스에서 임의의 좌표점에서 무비클립의 스케일을 랜덤하게 생성하여 scale 1 ~ scale random(100)으로 진행하였다. 기초적인 나무의 형태와 오브젝트들을 나열했으나 부자연스럽다. 다음 진행은 아래와 같다.
 

사용자 삽입 이미지
 
라인의 굵기를 처음 좌표를 시작하는 지점과 끝 지점으로 갈수록 굵은 쪽에서 가늘게 진행하였다. 그리고
꽃과 잎의 구분을 위하여 두개의 무비클립을 상호 조화롭게 나타나도록 배치하였고 라인과 마찬가지로 잎과 꽃의 scale도
큰쪽에서 작은 쪽으로 진행하였다. 그러나 어딘가 또 부자연스럽다. 잎과 꽃의 rotation을 보면 rotation을 랜덤으로
설정해 놓았기 때문에 식물의 가지가 뻗어나가는 방향으로 향하지 않은 놈들이 상당히 보인다. 이는
자연의 나무 형태에서 보는 것과는 다른 부자연스러운 모양을 나타내고 있다. 다음은
그 문제를 해결한 부분이다.

사용자 삽입 이미지
 
앞의 것과 같은 클래스 구조에서 각각의 잎과 꽃을 나타내는 무비클립의 rotation에 제한을 두었다.
 
  var difx:Number = pointList[count].x - pointList[count-1].x;
  var dify:Number = pointList[count].y - pointList[count-1].y;
  var ang:Number = Math.atan2(dify, difx);
  var rotationValue:Number = ang * (180 / Math.PI);
 
여기서의 rotationValue 값은 라인이 진행하는 방향의 각도를 가지고 있으므로 그 각도에서 + and -값을 꽃은 60, 잎은 70도로
한정하고 - 와 +는 랜덤으로 설정하였다. 이렇게 하여 라인이 진행하는 방향 쪽으로 향하는 잎과 꽃을 나타낼 수 있었다.
 

사용자 삽입 이미지
 
이렇게 진행하고 마지막으로 잎과 꽃을 실사 이미지를 입히고 가지의 line은 lineGradientStyle 메소드를
이용하여 명암을 넣으므로써 조금은 입체적인 느낌을 살리려고 했다.
 
이것을 만들때 Line Path Recorder를 이용하여 축출한 Point 좌표가 마우스의 움직임에 따라 저장이되는 관계로
그대로 사용할 경우에는 한점과 한점을 지나는 간격이 좁은 관계로 처리해야 하는 양이 늘어나는 문제가 있었다.
이는 기존의 point 좌표를 갖는 array에서 중간 값들을 두번 걸러내는 것으로 처리속도를 높일 수 있었다.
 
실사 이미지가 들어가므로 인해서 잎과 꽃이 나타날때 약간의 CPU문제가 발생하지만 그럭저럭 쓸만한 클래스가 만들어졌다.
    

설정

트랙백

댓글

[UI&C] Path Recorder

Project/UI&C Lab 2007. 2. 21. 10:58
이번은 화면 좌표를 표준화 String으로 축출하여 화면에 비주얼을 보여주고 네비를 구성해 봤다.
표준화된 String을 이용하기에 다양한 비주얼 형태에 적용이 가능할 것으로 예상된다.
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


    

설정

트랙백

댓글

UI&C(User Interface & Communication) Lab...

Project/UI&C Lab 2007. 2. 21. 10:57
'UI&C Lab'은 개인적인 공부와 프로젝트를 통해서 얻은 경험을 바탕으로 제대로 된 UI를 개발하는 목표로 만들게 되었다. 이를 통해서 작게는 나의 역량을 키우고 쌓아갈 수 있는 발판이 될 것이며 크게는 사내 프로세스를 변화시키고 진정 내가 하고싶은 것을 하며 밤을 새는 일일 것이다.

'UI&C Lab'은 오프라인에서 진행중이다.

사용자 삽입 이미지


    

설정

트랙백

댓글

AS3 API 계층구조도

Programming/ActionScript 2.0 2007. 2. 21. 10:57
AS3 API 계층구조 자료



 = new EXE(new SWF(new JPG(PDF))); 입니다.

    

설정

트랙백

댓글

사용한 모든 인터벌 삭제하기

Programming/ActionScript 2.0 2007. 2. 21. 10:57
class IntervalGroup{


        private var _intervalAry:Array;
        private static var _instance:IntervalGroup;


        private function IntervalGroup(){
                _intervalAry = new Array();
        }


        public static function getInstance():IntervalGroup{
                if(_instance == null){
                        _instance = new IntervalGroup();
                }
                return _instance;
        }


        public function set interval(num:Number):Void{
                _intervalAry.push(num);
        }


        public function clear():Void{
                for(var i=0;i<_intervalAry.length;i++){
                        clearInterval(_intervalAry[i]);
                }
        }
}
    

설정

트랙백

댓글