프로그래밍/Ruby2008.09.04 00:14

일단 좋은 글이 2개 있으니 따라하면 됩니다;

1. http://www.aproxacs.com/122
2. http://www.buggymind.com/147

2분이 잘 정리해두셨네요.
덕분에 쉽게  적용할 수 있었습니다. ^^; 감사합니다.


Posted by 시난
프로그래밍/Flex/AIR2008.09.02 01:34
http://joshua.almirun.com/tech/3d/papervision3d-airs-htmlloader-vanity-cube

AIR를 다운 받고 소스를 보면 알 수 있습니다.

<textarea name="code" class="as3">public function BrowserCubeContainer() { scene = new MovieScene3D(this); camera = new Camera3D(); camera.z = -900; camera.zoom = 5; materials = []; var size:int = 800; cube = new Cube(new MaterialsList({ bottom : createBrowserFace("http://micapam.innariddim.com/"), back : createBrowserFace("http://joshua.almirun.com/"), right : createBrowserFace("http://linkedin.com/in/joshuamostafa"), top : createBrowserFace("http://cfour.com.au/"), front : createBrowserFace("http://media.almirun.com/photos/"), left : createBrowserFace("http://www.vtc.com/modules/products/authorInfo.php?author=107") }), size, size, size, 10, 10, 10); scene.addChild(cube); cube.x = 500; cube.y = 200; addEventListener(Event.ENTER_FRAME, handleEnterFrameEvent); } public function render():void { for (var i:Number = 0; i < materials.length; i++) { (materials[i] as MovieMaterial).updateBitmap(); } cube.rotationX += 1.35; cube.rotationY += 2.55; cube.rotationZ += 0.55; scene.renderCamera(camera); } public function handleEnterFrameEvent(event:Event):void { render(); } private function createBrowserFace(url:String):MovieMaterial { var html:HTMLLoader = new HTMLLoader(); var urlReq:URLRequest = new URLRequest(url); html.width = 800; html.height = 800; html.load(urlReq); var movie:MovieMaterial = new MovieMaterial(html); materials.push(movie); return movie; } </textarea>
눈여겨 볼 부분은 MaterialsList를 생성하는 도중
createBrowserFace() 호출 부분과
var movie:MovieMaterial = new MovieMaterial(html);

 render()가 일어나는 도중
 (materials[i] as MovieMaterial).updateBitmap(); 부분입니다.

정확히 flex 구조를 아는 것은 아니지만 짐작컨데
 addChild() 하지 않는 이상 bitmap이 생성되지 않을 겁니다.

 이렇게 되면 MovieMaterial의 생성자로 DisplayObject가 들어간다고 해도
 bitmapData가 초기화되지 않았기 때문에
 MovieMaterial 이 검게 나올 겁니다.

제대로 동작하기 위해 updateBitmap() 처리를 한 것입니다. (불확실)
Posted by 시난
프로젝트2008.09.01 16:02
UX!?
뭔가 X가 들어가서 멋있지만(?) 
알고보면 사용자를 편안하게 해주는 것이죠.
똑똑하게 배려해주는 것이기도 하고.
User eXperience!!


오늘은 잠깐;
미친위젯에 숨어있는 UX에 대해 간단히 소개합니다.
거창하거나 큰 것은 아니고^^;
작은 변화로 사용자 경험을 조금 이끌어내는 것이구요.


간단히 2개 정도.. ^^;

1. 최근 글 목록이 맨 처음 뜨고
 클릭했을 경우 3D Cube 효과로 돌아가면서
댓글이나, 태그 등이 함께 나타납니다.

이때 돌아가는 효과는 사용자의 심미적 만족감을 높여주면서
집중하는 효과를 발휘합니다 ^^;

2. 이때 함께 서서히 Fade 효과로 녹색 Back 버튼이 나타나는데
이것도 사용자가 눈치챌 수 있게 효과를 주는 것이죠!

;;
말씀드렸다시피 거창하거나 대단한 것은 아니고;; 그 그냥
전 이런 의도로 만들었다고 ㅠㅠ




Posted by 시난