블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
01.C#기초 (4)
02.C#고급 (13)
03.ASP.NET (28)
04.HTML&Script (17)
05.Silverlight (38)
06.C 언어 기초 (2)
07.iOS (14)
08.Java (5)
09.SQL (8)
10.컴퓨터보안 (10)
11.패턴이야기 (3)
12.유니티3D (1)
13.Ubuntu (7)
14.Node.js (6)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'프로그래밍/05.Silverlight'에 해당되는 글 38건

  1. 2007.12.11 [Silverlight Game] 같은 그림찾기~! 2
  2. 2007.12.04 [번역] 새로운 실버라이트 2.0 업데이트 소식 2
  3. 2007.11.29 [무한도전] Silverlight 메뉴바 만들기 (6)



ㅁ Silverlight 게임 "같은 그림 찾기"

아하~초보인 제가 드뎌 Sliverlight를 이용한 게임을 만들어 봤습니다.
정말 몇일동안 삽질에 연속이었지요.. 하지만 이렇게 결과를 보니깐...넘 기쁘고 흥분을 가라안 출수가 없네요..ㅋㅋ
모.. 그리 대단한것도 아닌데..하시는 분들도 있으시겠지만...저 같은 머리로....이렇게 만들기란 정말 쉽지 않았습니다~^^;;;;에~구ㅋ
자~ 그럼 어떻게 동작하는지 아래그림들을 보면서 알아 보도록 하겠습니다.^^
아하~이름만 읽고도 알수 있겠지만....작성자의 성의를 봐서 한번 읽어주세요~ㅋ
(감사 -.- _._ -.- (꾸벅))

1. 그림

사용자 삽입 이미지


위 그림은 "같은 그림 찾기" 메인 모습입니다. 처음 들어 오시면 이미지들이 다운로드 되고 있기때문에 성격이 급하신 분들은...
잠시 기다려주는 센스 잊지 마세요~^^;;ㅋ
정말 디자인이 단순하지 않습니다. 누가 디자인을 해준것이 아니기 때문에...
제가 직접하다 보니깐..이렇게 됐네요...ㅋㅋ초등학교때는 미술 잘했는데....ㅋㅋ
아무튼 여기서 "START"를 클릭하면 게임이 시작이 됩니다.

2. 그림

사용자 삽입 이미지


3. 그림

사용자 삽입 이미지

위 그림 2,3은 START를 클릭하면 이미지들이 보여지면서 빙글빙글 돌아 갑니다. 그때 이미지들의 위치를 기억해야 겠지요~^^
그럼 시간이 되면 아래 그림처럼 이미지들이 안보이게 되고 시간이 흘러 가게 됩니다.

4.그림

사용자 삽입 이미지

시간이 흐러가고 있네요...그리고 마우스로 하나씩 클릭하면 위 그림과 같이 보여지게 되며, 같은 그림이 아닐 경우에는 다시 제 자리로 들어 가게 됩니다. 같은 그림일 경우에는 아래 그림과 같이 사라지게 되겠지요^^


5. 그림

사용자 삽입 이미지

모든 그림을 다 찾으셨다면 메세지창으로 게임 종료된 시간이 나타나게 됩니다.
아래 그림처럼요.

6. 그림

사용자 삽입 이미지


여기까지가 "같은그림찾기" 스토리보드였습니다~^^
정말 다른 사람이 만들었으면 금방 만들었을 텐데... 저는 머리가 그리 좋게 아니라서리....
엄청난 삽질에 연속이었습니다. 이제 "같은 그림찾기" 게임 만들기 강좌를 올리려고 합니다.
코드가 정리되는 대로 소스코드와 강좌를 올리도록 하겠습니다. 지금 마구 짜는 바람에.....코드가 좀 정신이 없습니다. 마치 제 머리처럼 말이지요~ㅋㅋ아무튼 기대해 주세요~^^

혹시 게임을 직접해 보고 싶으시면 아래 주소로 들어 오시면 될겁니다.
해보시고 에러사항이나 추가 사항 있으시면 덧글 부탁 드립니다~^^

게임 해보기
(위 주소는 임시 테스트로 돌리는 거라서... 언제 닫을지는 장담 못합니다~^^;;;;;)

Posted by happydong
, |



http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx
스캇 형님글을 HOONS의 짧은 영어로 대충 해석해 보겠습니다.

--------------------------------------------------------------------------------------

실버라이트 2.0 릴리즈

두달전 실버라이트 1.0을 윈도우와 맥에서 지원할 수 있게 오픈했고 리눅스에서도 지원되도록 하려는 계획을 가지고 있었다. 이 1.0은 자바스크립트와 Ajax를 이용하는 프로그래밍 모델이었다.

내년에 우리는 실버라이트를 RIA에 초점을 두어 정말 큰 업데이트가 있을 것이다. 여기서는 크로스 플랫폼과 크로스 브라우저를 완벽하게 지원하는 프레임워크를 탑재할 것이다. 더 일찍 알파 버전에서 이미 닷넷을 이용한 기능을 보여주긴했었다. 우리의 다음 모델의 주요한 기능은 다음과 같다.

1. WPF UI 프레임워크
현재 실버라이이트 알파는 아주 기본적인 컨트롤들만 지원하고 있다. 다음 실버라이트에서는 고수준의 WPF UI 프레임워크를 포함시킬 것이다. 주요한 기능은 다음과 같이 정리할 수 있다.
->확장이 가능한 프레임워크 모델, 레이아웃 관리자 지원, 두가지 방법의 데이터 바인딩 지원 컨트롤 템플릿과 스킨 지원
실버라이트에 탑재되는 WPF UI 프레임워크는 지난주에 업데이트된 닷넷 프레임워크 3.5에서 확인해 볼 수 있을 것이다.


2. Rich Controls
실버라이트는 RIA 를 아주 쉽게 구축할 수 있는 컨트롤들이 대거 추가될 것이다. 다음 실버라이트 릴리즈(2.0)에서는 Textbox, CheckBox, RadioButton 등등의 많은 컨트롤들이 지원될 것이고 StackPanel,Grid 와 같은 레이아웃컨트롤 들이 지원될 것이다. 뿐만 아니라 TabControl, Slider, ScrollViewer, ProgressBar 컨트롤들 그리고 DataGrid와 같은 데이터 바인딩 컨트롤을 지원할 것이다.

3. Rich Networking 지원
실버라이트는 향후에 Rich 네트워크를 지원할 것이다.(역주:Rich 네트워크는뭘까? 크로스 도메인 지원인가?) 새롭게 발표될 실버라이트는 REST,POX,RSS와 WS*와 같은 통신을 지원할 것이고 또한 크로스 도메인도 지원할 예정이다.

4. Rich Base Class Library
실버라이트는 rich .NET 기반의 클래스 라이브러리를 추가할 것이다.(collections, IO, generics, threading, globalization, XML, local storage, 등등) 다음 실버라이트는 또한 XML을 위한 LINQ의 지원을 추가할 것이고 더 풍부한 HTML DOM API를 지원할 것이다.

이전에 닷넷 기반의 실버라이트를 "Silverlight 1.1"로 불렀었다. 후에 우리는 새로운 기능을 추가할 것이고 그 이름을 "실버라이트 2.0" 으로 부르기로 결정하였다. 우리는 실버라이트2.0 베타를 2008년도 1사분기에 내놓을 예정이다. 이 베타는 Go-Live 라이센스를 가지고 있기 때문에 개발자들이 먼저 개발하고 실버라이트 2.0 어플리케이션을 배포가 가능하다.

우리는 또한 무료로 비주얼 스튜디오 2008을 업데이트 할 것이다. 업데이트는 당연히 실버라이트 2.0 툴을 지원할 수 있는 업데이트가 될 것이고 개발자들은 닷넷 언어를 이용하여 아주 쉽게 실버라이트 어플리케이션 만들수 있을 것이다. 그리고 우리는 실버라이트를 개발하기 위해서 비주얼 스튜디오 2008 Standard/Professional  둘다 지원할 예정이고 뿐만아니라 무료 툴인 비주얼 스튜디오 2008 Express 에디션 버전도 지원할 예정이다.

필자는 실버라이트 2.0에 대한 새로운 블로그 튜토리얼 시리즈를 몇주에 거쳐서 게시할 예정이고 더 세부적인 내용들을 보여줄 것이다. 자세한 내용을 가지고 다시 올테니깐 그 때 보자고 안녕~

--------------------------------------------------------------------------------------

원문은 다음과 같습니다.

Silverlight 2.0 Release

Two months ago we shipped Silverlight 1.0 for Mac and Windows, and announced our plans to deliver Silverlight on Linux.  Silverlight 1.0 is focused on enabling rich media scenarios in a browser, and supports a JavaScript/AJAX programming model.

Next year we will be releasing a major update of Silverlight that focuses on enabling rich Internet applications.  This release will include a cross-platform, cross-browser version of the .NET Framework, and will enable a rich .NET development platform in the browser.  Earlier this year we shipped an early Alpha containing some of the basic functionality of the release.  Our next public preview will add considerably to this feature set.  Some of the new .NET specific features in the next public Silverlight preview will include:

  • WPF UI Framework: The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing.  The next public Silverlight preview will add support for the higher level features of the WPF UI framework.  These include: the extensible control framework model, layout manager support, two-way data-binding support, and control template and skinning support.  The WPF UI Framework features in Silverlight will be a compatible subset of the WPF UI Framework features in last week's .NET Framework 3.5 release.

  • Rich Controls: Silverlight will deliver a rich set of controls that make building Rich Internet Applications much easier.  The next Silverlight preview release will add support for core form controls (textbox, checkbox, radiobutton, etc), built-in layout management controls (StackPanel, Grid, etc), common functionality controls (TabControl, Slider, ScrollViewer, ProgressBar, etc) and data manipulation controls (DataGrid, etc).

  • Rich Networking Support: Silverlight will deliver rich networking support.  The next Silverlight preview release will add support for REST, POX, RSS, and WS* communication.  It will also add support for cross domain network access (so that Silverlight clients can access resources and data from any trusted source on the web).

  • Rich Base Class Library Support: Silverlight will include a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc).  The next Silverlight preview release will also add built-in support for LINQ to XML and richer HTML DOM API integration.

Previously we've been referring to this .NET-enabled Silverlight release as "Silverlight V1.1".  After stepping back and looking at all the new features in it (the above list is only a subset - there are many more we aren't sharing yet), we've realized that calling it a point release doesn't really reflect the true nature of it.  Consequently we have decided to change the name and refer to it as "Silverlight V2.0" going forward.

We will be releasing a Beta of Silverlight 2.0 in Q1 of 2008.  This Beta will support a Go-Live license that enables developers to begin building and deploying Silverlight 2.0 applications.

We will also be releasing a free Visual Studio 2008 tools update that provides great Silverlight 2.0 tools support within Visual Studio 2008, and enables developers to easily build Silverlight applications using any .NET language.  We will be supporting Silverlight development with both the Visual Studio 2008 Standard/Professional products, as well as with the free Visual Studio 2008 Express editions.

I'm going to be starting a new blog tutorial series in a few weeks that discusses how to build Silverlight 2.0 applications, and show off the new features in more depth.  Stay tuned for more details soon.


 - 출처 : http://www.hoons.kr -

Posted by happydong
, |



주의 : 해당 내용은 실버라이트 1.1버전을 내용을 작성된 내용입니다. 현재 나와 있는 버전과 차이가 있어 버그가 있을수 있습니다. 참고하세요!!

[무한도전] Silverlight 메뉴바 만들기 (6)


이제 마지막이 되겠군요! 코드비하인드에서는 어떻게 처리 했는지 알아 보도록 하겠습니다.
먼저 저는 아래 그림과 같이 크게 5가지로 설명하겠습니다.

사용자 삽입 이미지

1. 변수 선언 및 열거

코드는 아래와 같습니다.

Page.xaml.cs페이지 (변수 선언 및 열거)

 string URL = null;

 

enum SubMenu { Menu_1,Menu_2,Menu_3,Menu_4 }

 

SubMenu SM = SubMenu.Menu_1

 - URL 변수는 나중에 웹사이트 URL주소 값을 넣기위한 변수입니다.
 - SubMenu 열거형을 정의한것 입니다. 나중에  SubMenu 이벤트 조건에서 사용이 될 거예요! 그리고 초기화 "Menu_1"로 설정합니다.

2. Page_loader

코드는 아래와 같습니다.

Page.xaml.cs페이지 (Page_loaded)

public void Page_Loaded(object o, EventArgs e)

{

// Required to initialize variables

InitializeComponent();

 

//Main_Menu 이벤트

txt_m1.MouseEnter += new MouseEventHandler(txt_m1_MouseEnter);

txt_m2.MouseEnter += new MouseEventHandler(txt_m2_MouseEnter);

txt_m3.MouseEnter += new MouseEventHandler(txt_m3_MouseEnter);

txt_m4.MouseEnter += new MouseEventHandler(txt_m4_MouseEnter);

 

//Sub_Menu 이벤트

txtsub1.MouseLeftButtonDown += new MouseEventHandler(txtsub1_MouseLeftButtonDown);

txtsub2.MouseLeftButtonDown += new MouseEventHandler(txtsub2_MouseLeftButtonDown);

txtsub3.MouseLeftButtonDown += new MouseEventHandler(txtsub3_MouseLeftButtonDown);

}


위 코드의 txt_m1,2,3,4MainMenuTextBlock 이벤트(onmouseover event와 같음)를 준 것입니다.마찬가지로 txtsub1,2,3 또한 TextBlock 이벤트(onmousedown event와 같음)를 준 것입니다.

3. Main_Menu 이벤트

코드는 아래와 같습니다.

Page.xaml.cs페이지(Main_Menu 이벤트)

//Maine 04

void txt_m4_MouseEnter(object sender, MouseEventArgs e)

{

SM = SubMenu.Menu_4;

 

Menu1_Story.Stop();

Menu2_Story.Stop();

Menu3_Story.Stop();

Menu4_Story.Begin();

 

SubText_Name("Google", "Yahoo", "MS");

}

//Maine 03

void txt_m3_MouseEnter(object sender, MouseEventArgs e)

{

SM = SubMenu.Menu_3;

 

Menu1_Story.Stop();

Menu2_Story.Stop();

Menu4_Story.Stop();

Menu3_Story.Begin();

 

SubText_Name("Hoons_NET", "Taeyo_NET", "Devpia");

}

//Maine 02

void txt_m2_MouseEnter(object sender, MouseEventArgs e)

{

SM = SubMenu.Menu_2;

 

Menu1_Story.Stop();

Menu3_Story.Stop();

Menu4_Story.Stop();

Menu2_Story.Begin();

 

SubText_Name("DW_blog1", "DW_blog2", "DW_Cyworld");

}

//Maine 01

void txt_m1_MouseEnter(object sender, MouseEventArgs e)

{

SM = SubMenu.Menu_1;

 

Menu2_Story.Stop();

Menu3_Story.Stop();

Menu4_Story.Stop();

Menu1_Story.Begin();

 

SubText_Name("NAVER", "DAUM", "NATE");

}

// SubMenu TextBlock Text 값지정

private void SubText_Name(string txt1, string txt2, string txt3)

{

txtsub1.Text = txt1;

txtsub2.Text = txt2;

txtsub3.Text = txt3;

}


코드가 길어 보이지만 알고 보면 별거 없습니다. 일단 마우스가 해당객체의 위에 올라왔을 때 이벤트를 발생시키 겠지요. 그럼 해당 이벤트는 먼제 SM(열거형)값을 정의해 줍니다. 그래야 SubMenu에서 링크를 알맞게 걸수 있기때문입니다. 그부분은 차후에 다시 설명하겠습니다. 아무튼 정의해 줍니다. 그리고 나서 우리가 만들었던 4개의 StroyBoard중에서 해당 객체에 관련된 내용을 제외한 나머지 3개는 Stop()메소드로 지정합니다. 그렇게 하지않으면 StroyBoard가 몇개씩 겹치겠지요~^^;;그러면 안되잖아요.그리고 나서 SubText_Name 메소드를 호출합니다. SubText_Name은 인자값 3개를 받습니다. 인자값으로는 SubMenu의 이름이 되겠지요~! SubText_Name 메소드 코드를 보시면 "아하~"하실 겁니다~!!^^;;

4. Sub_Menu 이벤트

코드는 아래와 같습니다. 

 Page.xaml.cs페이지(Sub_Menu 이벤트)

 //sub 01

void txtsub1_MouseLeftButtonDown(object sender, MouseEventArgs e)

{

if (SM == SubMenu.Menu_1)

URL = "http://www.naver.com";

else if (SM == SubMenu.Menu_2)

URL = "http://blog.naver.con/kdw8751";

else if (SM == SubMenu.Menu_3)

URL = "http://www.hoons.kr";

else if (SM == SubMenu.Menu_4)

URL = "http://www.google.co.kr";

 

Link();

}

//sub 02

void txtsub2_MouseLeftButtonDown(object sender, MouseEventArgs e)

{

if (SM == SubMenu.Menu_1)

URL = "http://www.daum.net";

else if (SM == SubMenu.Menu_2)

URL = "http://drum-83.tistory.com";

else if (SM == SubMenu.Menu_3)

URL = "http://taeyo.net";

else if (SM == SubMenu.Menu_4)

URL = "http://kr.yahoo.com";

 

Link();

}

//sub 03

void txtsub3_MouseLeftButtonDown(object sender, MouseEventArgs e)

{

if (SM == SubMenu.Menu_1)

URL = "http://www.nate.com";

else if (SM == SubMenu.Menu_2)

URL = "http://www.cyworld.com/ww7747";

else if (SM == SubMenu.Menu_3)

URL = "http://www.devpia.com";

else if (SM == SubMenu.Menu_4)

URL = "http://www.microsoft.com/korea";

Link();

}

위 코드는 사용자가 해당 SubMenu를 클릭했을때 해당 URL 값을 지정하는 것입니다.그리고 여기서 조건은MainMenu1온것인지..2에서 온것인지..3에서 온것인지 확인 하는 조건이죠. 해당 URL값을 지정했다면 Link()메소드를 호출하게 되는 겁니다.

5. 링크 연결

코드는 아래와 같습니다.

Page.xaml.cs페이지(링크 연결)

 using System.Windows.Browser;

...

private void Link()

{

HtmlPage.Navigate(URL, "test");

}


위 코드는 아주 간단합니다. 링크를 연결해 주는것 일뿐이죠.HtmlPage.Navigate 함수를 쓰기 위해서는 using System.Windows.Browser; 를 선언해 주어야 합니다.

지금까지 간단한 메뉴바를 만들어 보았습니다. 혹시 잘안되시는 분들을 위해 제 소스를 올려놓겠습니다. 제가 처음으로 실버라이트를 이용해서 만들어본 프로젝트라 정말 뿌듯합니다^^; 다음에는 더욱더 멋진 걸 만들어서 올리도록 하겠습니다. ^^

Posted by happydong
, |