<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'swaf' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/swaf</link>
		<description>swaf</description>
		<language>ko</language>
		<pubDate>Thu, 31 Jan 2008 17:37:20 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[Swaf 2.0 업데이트]]></title>
	<link>http://reizes.egloos.com/1706371</link>
	<guid>http://reizes.egloos.com/1706371</guid>
	<description>
	<![CDATA[ 
그동안 일이 바빠서 못하다가 오랫만에 작업을 했습니다.  Swaf이 아직 대중적이지 못한 관계로 많은 프로젝트에서 prototype.js나 jQuery 등과 같은 라이브러리를 이미 사용하고 있습니다.  이러한 다른 라이브러리들을 같이 사용하더라도 충돌이 나지 않도록 하였습니다.  예를 들어, $('xxx')를 swaf.$('xxx')와 같이 사용할 수 있습니다. 이미 다른 라이브러리에서 같은 이름의 object 혹은 함수가 있다면, Swaf은 이를 덮어쓰지 않습니다. 이 때 Swaf의 기능으로 사용하고 싶으면 앞에서와 같이 사용하면 됩니다.  대표적으로, $listener - swaf.listener $class - swaf.$class (class는 예약어라 $class로 하였습니다.) $dom - swa	]]>
	</description>
	<pubDate>Thu, 31 Jan 2008 17:37:20 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[요즈음의 근황]]></title>
	<link>http://reizes.egloos.com/1696962</link>
	<guid>http://reizes.egloos.com/1696962</guid>
	<description>
	<![CDATA[ 
한동안 회사 일도 많고 해서 블로그에 글도 못올렸습니다.  Swaf도 틈틈히 진행중입니다.  지금 진행중인 것은 두 가지 입니다. 전에 언급했었던 swaf.gl 개발입니다. 지금은 Firefox 용으로 Canvas 태그의 기능을 wrapping하는 클래스 까지만 만들었습니다. VML로 같은 기능을 만드는 클래스를 만들고, 간단한 3D 기능까지 넣을 예정입니다.  또 하나는, 웹 UI 컴포넌트 라이브러리입니다. WIUI라는 이름을 가진 Swaf의 서브 프로젝트로 UI개발에 전문적인 분들께서 프로젝트를 진행할 예정입니다. 지금은, 그것의 근본이 될 base class를 만들고 있습니다. 다만, 방식에 있어서 API 방식을 쓰자니 사용이 조금 번거롭고, 커스텀 태그를 쓰자니 validator에 걸리는 문제가 있어	]]>
	</description>
	<pubDate>Sat, 12 Jan 2008 00:34:57 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[Swaf.gl 구상]]></title>
	<link>http://reizes.egloos.com/1690802</link>
	<guid>http://reizes.egloos.com/1690802</guid>
	<description>
	<![CDATA[ 
Swaf의 core는 문서화 및 샘플 적용을 통한 안정화 작업중입니다. 그러나, core만으로 만족스럽지 않기 때문에 swaf을 기반으로 한 확장 라이브러리를 개발하려고 합니다.  웹에서 자주 사용되는 UI 컴포넌트 라이브러리는 다른 분들이 개발하실 예정이고, canvas와 VML을 이용하는 그래픽 라이브러리 swaf.gl을 만들어 볼까 합니다.  애초에, DrawingCanvas.js를 래핑하는 정도로 만들려고 했으나, DrawingCanvas.js의 기능이 많지 않고 간단하게 되어 있어, canvas와 VML에서 제공되는 기능을 최대한 이용하고, 3D까지 지원되는 라이브러리를 만들려고 합니다.  애초에 학교다닐 때 3D 개발을 많이 했고, 졸업논문도 ray tracing을 했기 때문에 3D에 대한 미련이	]]>
	</description>
	<pubDate>Mon, 31 Dec 2007 03:18:42 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 마무리]]></title>
	<link>http://reizes.egloos.com/1686184</link>
	<guid>http://reizes.egloos.com/1686184</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds6.egloos.com/pds/200712/21/69/a0000069_476b79b842863_t.jpg"  
				alt="자바스크립트로 만드는 객체지향 게임 - 마무리" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 실 개발시간 5시간 정도밖에 안되는 시간으로 일단은 대충 마무리 지었습니다.    때문에, 버그도 많고, 점수나 레벨등도 나오지 않습니다. ㅠㅠ 다행히, swaf의 클래스나 메시징 기능을 사용하여 짧은 시간에 만들 수 있었습니다.  그러나, 핸드폰에 있는 bomblink 게임과 유사하게 만들었습니다. 보너스 폭탄이나 고정 폭탄 등은 없지만, 좀 더 시간을 가지고 이러한 요소들을 지원하여 제대로 된 게임으로 만들면 괜찮을 것 같습니다.  게임의 메인은 아래와 같습니다.  &amp;lt;script&amp;gt;      function main() {       var game = new CBombLink(8,10,$('bomblink'));      } &amp;lt;/script&amp;gt;  HTML에 &amp;lt;div id=&quot;bom	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 17:53:24 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 게임 메인 클래스]]></title>
	<link>http://reizes.egloos.com/1686177</link>
	<guid>http://reizes.egloos.com/1686177</guid>
	<description>
	<![CDATA[ 
 BombLink 게임의 메인 클래스이다.   폭탄 테이블, 불꽃 레인 등 게임 요소를 생성하고, 게임을 진행시키는 역할을 담당한다.   /* 게임메인클래스*/$class({    CBombLink : {       bombTable : null,       lane : [],       level : 1,       curFireNum : 0,               EVENT_MAP : {                fireDrop : 'onFireDrop' // 불꽃이모두내려갔을때수신하는이벤트        },        // 폭탄테이블, 불꽃레인등을생성하고, 폭탄을배열한다.       init : function(width,height,element) {           this.bombTabl	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 17:27:51 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 불꽃 레인 클래스]]></title>
	<link>http://reizes.egloos.com/1686175</link>
	<guid>http://reizes.egloos.com/1686175</guid>
	<description>
	<![CDATA[ 
 불꽃 레인은 불꽃이 떨어지는 장소다. 실제 해당 요소의 div를 생성하고 불꽃 클래스를 생성하여 떨어뜨린다.  불꽃이 한칸씩 아래로 떨어질 때 마다 폭탄 테이블에 이를 알려서 폭발이 일어나도록 한다.  /* 불꽃레인클래스- 불꽃이떨어지는곳*/$class({   CLane : {       element : null,       game : null,       bombTable : null,       fireball : null,       fireSpeed : 1,       firePos : 0,       lanePos : 0,              // 좌, 우설정에따라불꽃레인div를생성하고폭탄테이블옆에위치시킨다       init : function(game,bombTable,isLeft) {	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 17:23:38 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 폭탄 테이블 클래스]]></title>
	<link>http://reizes.egloos.com/1686174</link>
	<guid>http://reizes.egloos.com/1686174</guid>
	<description>
	<![CDATA[ 
 폭탄 테이블은 폭탄들이 배열되어 있는 곳이다. 불꽃이 폭탄 테이블을 지날 때 불꽃과 인접한 폭탄에 폭발 메시지를 전달하며, 시간이 지났을 때 폭탄을 1줄 추가 생성하는 역할을 한다.  클래스는 아래와 같다.  /* 폭탄들이배열되는폭탄테이블클래스*/$class({        CBombTable : {               arrBombTable : null,               size : {width : 0,height : 0},               element : null,               parentElement : null,                              /* 이벤트맵*/               EVENT_MAP : {                  	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 17:19:21 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 불꽃 클래스]]></title>
	<link>http://reizes.egloos.com/1686164</link>
	<guid>http://reizes.egloos.com/1686164</guid>
	<description>
	<![CDATA[ 
불꽃 (실제로는 번개 그림이지만..)은 폭탄 테이블의 양 옆에서 아래로 떨어지며 폭탄을 폭발시킵니다.  불꽃 클래스는 따로 동작하는 것이 없으며, 아래로 떨어지기만 합니다.  불꽃 클래스는 아래와 같습니다.  /* 불꽃클래스*/$class({        CFire : {               sprite : null,               fireShape : 0,               lane : null,               bShow : true,                              /* 불꽃스프라이트를생성하고애니메이션을시작한다*/               init : function (lane) {                   this.lane=lane;     	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 16:59:14 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 폭탄 클래스]]></title>
	<link>http://reizes.egloos.com/1686161</link>
	<guid>http://reizes.egloos.com/1686161</guid>
	<description>
	<![CDATA[ 
이제 가장 중요한 부분인 폭탄 클래스입니다.  폭탄은 폭발할 경우 인접 폭탄으로 폭발 메시지를 비동기 방식으로 전달하며, 메시지를 받은 폭탄은 심지가 폭발 방향을 향하고 있는지 판단하여 폭발합니다. 그리고, 다시 인접 폭탄으로 폭발 메시지를 전달하는 것을 반복합니다.  또한, 폭탄은 사용자가 액션을 취하는 유일한 클래스입니다. 클릭 이벤트를 받아 심지의 방향을 바꿉니다.  폭탄 클래스는 아래와 같습니다.          /* 개별폭탄클래스*/        $class({               CBomb : {                       sprite : null,   // CSprite                       direction : 0,   // 0 : right, 1 : bot	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 16:54:27 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 메시지 큐]]></title>
	<link>http://reizes.egloos.com/1686155</link>
	<guid>http://reizes.egloos.com/1686155</guid>
	<description>
	<![CDATA[ 
 폭탄은 하나에 여러개가 연결 되어 있을 경우 폭발이 여러 갈래로 나뉘어 지게 됩니다. 이 때, 그냥 메시지 전달을 하면 하나의 폭탄에 연결된 폭탄들이 동시에 터지지 못하게 됩니다. 그래서, 메시지 큐를 만들었습니다.   메시지 큐는 싱글턴 클래스로 큐에 메시지 전송을 넣으면 메시지 큐가 주기적으로 돌면서 실제 메시지를 전송하는 것입니다. 메시지가 비동기로 전송되므로, 실제 폭발도 비동기로 폭탄이 개별적으로 폭발하게 됩니다.   쓰레드가 지원이 되면 쉽게 해결되겠지만, 자바스크립트는 아직 그러지 못하므로 이러한 방법을 사용했습니다.   메시지큐를 구현한 클래스는 아래와 같습니다.  /* 비동기메시지전송을위한메시지큐*/$class({        CMessageQueue : {               SIN	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 16:38:29 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 스프라이트 관리]]></title>
	<link>http://reizes.egloos.com/1686149</link>
	<guid>http://reizes.egloos.com/1686149</guid>
	<description>
	<![CDATA[ 
결국, 벼락치기로 만들게 되었습니다. ㅠㅠ  우선 구글과 같은 형태로 스프라이트 이미지들을 한 이미지로 놓고 잘라쓰는 클래스를 만들었습니다.  /* 스트라이트통합이미지를관리하는클래스*/$class({        CSpriteBase : {               SINGLETON : true,                              imgURL : '/bomblink/img/sprite.gif',               spriteSize:[                       [29,29],       // bomb                       [32,32]        // fire               ],               spritePos : [      	]]>
	</description>
	<pubDate>Fri, 21 Dec 2007 16:33:02 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 이미지 작성]]></title>
	<link>http://reizes.egloos.com/1685256</link>
	<guid>http://reizes.egloos.com/1685256</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds7.egloos.com/pds/200712/20/69/a0000069_47694b6f73567_t.gif"  
				alt="자바스크립트로 만드는 객체지향 게임 - 이미지 작성" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 결국 어젠 하나도 진행하지 못했습니다. ㅠㅠ  오늘은 점심때 일어나서 투표하고 좀 있다 보니 벌써 이 시간이 되었습니다.  그동안 한 일이라고는 게임에 사용할 이미지를 만든 것 뿐입니다.  디자인과 먼 개발자이고, 요즘은 예전같이 도트노가다를 손쉽게 할 수 있는 툴 보다는 온갖 기교를 부리는 툴이 많다 보니 그냥 파워포인트로 간단히 도형을 만들어서 이미지로 만들기로 했습니다.  구글 메인에서 볼 수 있는 여러 이미지를 하나의 이미지로 묶어 뷰잉하는 방식을 사용했습니다.  그래서 만든 이미지는 아래입니다.   네방향의 폭탄과 폭발컷 두개, 불꽃을 대신할 번개 입니다. ^^;;  이 이미지를 관리하는 싱글턴 클래스 CSpriteBase와 이것으로부터 이미지를 잘라 보여주는 CSprite 클래스를 지금 만들고 있	]]>
	</description>
	<pubDate>Thu, 20 Dec 2007 01:52:01 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 - 화면 및 클래스 설계]]></title>
	<link>http://reizes.egloos.com/1684039</link>
	<guid>http://reizes.egloos.com/1684039</guid>
	<description>
	<![CDATA[ 
애초대로 하면, 게임에 대한 기획을 하고 룰 정의 및 난이도 조정 등을 해야 하겠으나 자바스크립트를 이용한 객체지향 프로그래밍의 예를 보이기 위한 것이므로 그런것은 생략하고 넘어가겠습니다.  이러면 게임이 재미는 없겠군요... ㅡㅡ  화면은 핸드폰의 Bomb Link 화면을 구조만 대충 가져오려고 합니다.  Page　　　　　　　　CScore　　　　　　　　　　　　　　　　　　C　C　　LCBombTableL　　a　a　　n　n　　e　e　　　　　　　　　　　　　　　　　　　　　　　CBomb　　　　　　　　　　　　　　　　　　　　　　　　　　 위에서 CLane, CBomb, CBombTable, CLane, CScore 들은 게임을 구성하는 클래스입니다. CLane에서 떨어지는 불은 CFire로 할 예정이고, CFire, CB	]]>
	</description>
	<pubDate>Tue, 18 Dec 2007 00:30:23 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바스크립트로 만드는 객체지향 게임 프로그래밍]]></title>
	<link>http://reizes.egloos.com/1683765</link>
	<guid>http://reizes.egloos.com/1683765</guid>
	<description>
	<![CDATA[ 
사내에서 주최하는 Dev Night라는 행사에 어찌하여 참가하게 되었습니다.  Swaf을 사용한 예를 만들어야 하는데, 실질적인 개발 기간도 3일 정도 밖에 안되고, 업무시간을 빼면 거의 없는 실정이니 간단히 만들어 보기로 했습니다.  개발자이므로 디자인은 포기한채... ㅠㅠ  무엇을 만들까 고민하다, 핸드폰에 있는 Bomb Link라는 게임이 생각났습니다. 이 게임이라면 각 폭탄을 클래스화 시킬 수 있으며, 폭탄간의 폭발 및 연결을 메시징 처리할 수 있으므로 Swaf의 응용에 대한 간단한 예로 적절하다 생각되었습니다.  이제부터, 업무를 하면서 틈틈히 만들어야 하는데, 만드는 과정을 실시간으로 포스팅해 보려 합니다.  Swaf을 이용한 첫번째 예가 되겠네요.  참가 주제는 조금 거창하지만, &quot;자바스크립트로	]]>
	</description>
	<pubDate>Mon, 17 Dec 2007 14:20:17 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
<item>
	<title><![CDATA[SWAF Class의 Singleton 지원]]></title>
	<link>http://reizes.egloos.com/1675099</link>
	<guid>http://reizes.egloos.com/1675099</guid>
	<description>
	<![CDATA[ 
 SWAF이 자바스크립트로 개발된 단순한 라이브러리의 모음이 아니라 유기적인 프레임웍으로 되기 위해서는 singleton pattern에 대한 지원이 꼭 필요하다고 생각하였습니다.   그래서, 이미 개발해 놓은 SWAF의 클래스 지원 모듈에 Singleton 지원 기능을 추가하였습니다.   Singleton의 정의는 간단하게 다음과 같이 할 수 있습니다.  $namespace('lib.classes');  $class({     singleton1 : {         NAMESPACE : lib.classes,         SINGLETON : true,         data : 'singleton data'     } });   위와 같이 클래스 정의에 단순히SINGLETON : true 로 하는 것	]]>
	</description>
	<pubDate>Fri, 30 Nov 2007 17:07:32 +0900</pubDate>
	<dc:creator><![CDATA[ReiZes's Devlog]]></dc:creator>
</item>
	</channel>
</rss>

