실버라이트(SilverLight) 강좌와TIP 게시판입니다. - 시삽보기

제목: [Silverlight Game] "같은 그림 찾기" 만들기 1편
글쓴이: 김동욱
평점: 없음
조회: 2552

Silverlight 오락실에 “같은 그림 찾기“ 가 어떻게 만들어 졌는지 간단하게 3편의 강좌로 올려 봅니다.
부족한 하지만... 저 같은 초보 개발자 분들에게 Silverlight를 공부하는데 도움이 되었으면 좋겠네요~!^^;;


"같은 그림 찾기" 만들기 1

 

 이제 Silverlight 메뉴바 만들기에 이어 Silverlight Game를 만들어 보도록 하겠습니다. 정말 기대 되지 않습니까~!?ㅋ 저는 이렇게 제가 실버라이트로 게임을 만들었다는 사실에 깜짝 놀랬 습니다. 늘 말했듯이 저 또한 완전 초보 개발자라는 사실...^^;;;그렇기 때문에 누구나 Silverlight프로젝트에 도전할 수 있으리라 생각이 됩니다~^^ 그럼 이제 본론으로 들어가서 한번 만들어 보도록 하겠습니다.

그럼 일단 VS2008 프로젝트를 실행을 해서 Silverlight 템플릿에서 Silverlight프로젝트를 원하시는 프로젝트명을 입력해서 만드세요~ 저는 "ImageGame" 이라고 해봤습니다. ((한글버전)파일 >>새로만들기 >>프로젝트 선택 Silverlight 템플릿선택~!) 혹시 잘 어떻게 프로젝트를 생성하는지 모르시면 "[무한도전] Silverlight 메뉴바 만들기 (2)" 참고 하 세요~^^

프로젝트가 만들어 지셨다면 이제 블랜드를 실행해서 기본적인 디자인을 만들어 보도록 하겠습니다. 모 원하시는모양으로 만들어도 상관은 없습니다.~^^ㅋㅋ저는 아주 미적감각이 뛰어나서....ㅋㅋ (믿거나 말거나...ㅋ) 아래 그림과 같이 멋지게 만들어 보았습니다.^^;;  

1. 그림

사용자 삽입 이미지

 

혹시 제가 만든 디자인이 몹시 맘에 들어 하시는 분들을 위해서...ㅋㅋ 아래 소스를 준비해 드리겠습 니다~^^ㅋ 그냥 page.xaml 파일에 복사해서 붙어 넣으시면 됩니다~^^;; 혹시 따로 디자인을 하시는 분들은 주의해서 id를 지정해 주세요~^^;; 따로 만드시다 보면 제가 지정한 id와 달아서 혼돈이 있을 수도 있으니깐요~!^^


 

 

 Page.xaml페이지

 <Canvas x:Name="background"

xmlns="http://schemas.microsoft.com/client/2007"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Loaded="Page_Loaded"

x:Class="ImageGame.Page;assembly=ClientBin/ImageGame.dll"

Width="640"

Height="480"

Background="White"

> 

<!-- 여기서 부터 추가된 코드 입니다. Canvas는 기본 생성되는 코드입니다. -->           

<Canvas x:Name="background_Copy" Width="640" Height="532" Background="#FF2A2929">

<Canvas x:Name="body" Width="603" Height="461" Canvas.Left="20" Canvas.Top="24" Background="#FF595858">

<Canvas x:Name="screen" Width="568" Height="436" Canvas.Left="18" Canvas.Top="8" Background="#FFFBFBFB"/>

</Canvas>

<Rectangle x:Name="title" Width="603" Height="31" Stroke="#FF000000" RadiusX="20" RadiusY="20" Canvas.Left="20" Canvas.Top="8">

<Rectangle.Fill>

<LinearGradientBrush EndPoint="0.497,-6.888" StartPoint="0.5,7.863">

<GradientStop Color="#FF000000" Offset="0.346"/>

<GradientStop Color="#FFFFFFFF" Offset="0.918"/>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

<TextBlock Width="339" Height="20" Text="dong wook - http://drum-83.tistory.com" TextWrapping="Wrap" Canvas.Top="12" Canvas.Left="54" Foreground="#FFF8E9E9" x:Name="txtdown" Cursor="Hand"/>

<Rectangle Width="624" Height="54" Stroke="#FF000000" RadiusX="20" RadiusY="20" Canvas.Left="8" Canvas.Top="469" x:Name="Menuber">

<Rectangle.Fill>

<LinearGradientBrush EndPoint="0.497,-6.888" StartPoint="0.5,7.863">

<GradientStop Color="#FF000000" Offset="0.428"/>

<GradientStop Color="#FFFFFFFF" Offset="0.918"/>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

</Canvas>

 

</Canvas>

 

~혹시 블랜드로 객체들을 하나하나 만들어 보고 싶은데 어떻게 만드는지 모르시겠다 하시는 분들 은 제가 쓴 "[무한도전]Silverlight 메뉴바 만들기"를 참고 하시고요, 간단하게 START버튼을 만드는 과정을 그림으로 살짝 보시겠습니다~^^

2. 그림

 

 

사용자 삽입 이미지

 

블랜드 왼쪽 메뉴에서 Rectangle객체에 마우스 오른쪽 버튼을 누르면 위와 같은 화면이 나타 납니다. Ellipse 객체를 선택을 한 후 아래와 같이 그려 봅니다.

 

3. 그림

사용자 삽입 이미지

 

위 그림과 같이 그리 셨다면 아이디를 지정하고 사이즈과 위치 정보를 지정합니다.

 

4. 그림

사용자 삽입 이미지

 

위 와 같은 방법으로 블랜드를 이용해서 객체들을 만들면 됩니다. 소스는 아래와 같습니다. 아래 소스는 page.xaml 파일에 붙어 넣으시면 되고요 아까 위에서 봤던 디자인 코드 다음부분에 작성하면 됩니다. (주의 : 기본생성된 부모 Canvas 안에 넣으세요^^)

 

 Page.xaml페이지

 <Rectangle Width="148" Height="40" Stroke="#FF000000" RadiusX="73.5" RadiusY="73.5" x:Name="start_body" RenderTransformOrigin="0.5,0.5" Canvas.Left="81" Canvas.Top="475" Canvas.ZIndex="0">

<Rectangle.RenderTransform>

<TransformGroup>

<ScaleTransform ScaleX="1" ScaleY="1"/>

<SkewTransform AngleX="0" AngleY="0"/>

<RotateTransform Angle="0"/>

<TranslateTransform X="0" Y="0"/>

</TransformGroup>

</Rectangle.RenderTransform>

<Rectangle.Fill>

<LinearGradientBrush EndPoint="0.501,-1.363" StartPoint="0.513,2.388">

<GradientStop Color="#FF000000" Offset="0"/>

<GradientStop Color="#FFFFFFFF" Offset="1"/>

<GradientStop Color="#FFB3B3B3" Offset="0.705"/>

</LinearGradientBrush>

</Rectangle.Fill>

</Rectangle>

<TextBlock Width="109" Height="31" Canvas.Left="108" Canvas.Top="478" Text="START~!" TextWrapping="Wrap" x:Name="txt_start" FontSize="24" FontWeight="Bold" Cursor="Hand" RenderTransformOrigin="0.5,0.5" Foreground="#FFEE5555">

<TextBlock.RenderTransform>

<TransformGroup>

<ScaleTransform ScaleX="1" ScaleY="1"/>

<SkewTransform AngleX="0" AngleY="0"/>

<RotateTransform Angle="0"/>

<TranslateTransform X="0" Y="0"/>

</TransformGroup>

</TextBlock.RenderTransform>

</TextBlock>

  

~여기까지 잘 따라와 주셨나요~^^;;그럼 이제 START버튼 옆에 시간을 나타나게한 TextBlock만들어 주세요~! 블랜드에서 왼쪽에 보시면 컨트롤이 있을 것 입니다. 원하시는 위치에서 그려주세요 저는 아래 소스와 같이 만들었습니다.

 

 Page.xaml페이지

 <TextBlock Width="117" Height="51" Canvas.Left="297" Canvas.Top="467" Text="TIME :" TextWrapping="Wrap" x:Name="Time1" Foreground="#FFFFFFFF" FontWeight="Bold" FontSize="36"/>

<TextBlock Width="50" Height="43" Canvas.Left="416" Canvas.Top="468" Text="0" TextWrapping="Wrap" x:Name="Time" Foreground="#FFEED9D9" FontWeight="Bold" FontSize="36"/>

 

여기까지해서 간단하게 디자인을 끝이 난 것 같습니다. 자 그럼 이제 한번 실행을 시켜 볼까요~!^^ 잠깐 여기서 실행하기 전에 TestPage.html 페이지에서 style를 변경해 줍니다. 아래와 같이 100% 로 해주세요~^^ 이렇게 안하고 실행 시키면 Silverlight프로젝트가 약간 짤여서 나거든요~^^;;
 

 TestPage.html 페이지

 <style type="text/css">

        .silverlightHost { width: 100%; height: 100%; }

</style>

자 실행을 시켜보면 아래와 같은 그림이 나타날 것입니다.

 

5. 그림

사용자 삽입 이미지

 

자 여기까지 잘 따라 오셨는지 모르겠네요~오늘은 이렇게 디자인까지만 다루어 보도록 하겠습니다 이 다음에는 UserControl 아주 간단히 디자인을 하고간단한 스토리보드프로그래밍적인 부분을 알아 보도록 하겠습니다.

작성자 정보

글등록 +12 1930
덧글등록 +3 535
이름: 김동욱(kdw7747 )

Level 57
 [EXP.172/250 ]


메일: kdw8751골뱅이nate.com

홈페이지: http://www.happyday214.com
자기소개
Dong Wook, Kim
HOONS닷넷(http://www.hoons.kr) Silverlight 시삽
글 공유하기 |
 tweet facebook
2008-02-25 오후 11:31:17
IP: 211.243.107.60
        
트랙백 주소 : http://www.hoons.kr/11009/BoardTrackback.aspx ()
등록된 트랙백 0

나도한마디
사용자
글등록 +1284  덧글등록 +123
Eun's            [2008-02-26]
Level 6
 [EXP.2/14]
감사합니다. 이렇게 강좌로 만들기 어려운데 수고 많으시네요~
사용자
글등록 +120  덧글등록 +12
ririfh            [2009-11-05]
Level 1
 [EXP.6/16]
x:Class="ImageGame.Page;assembly=ClientBin/ImageGame.dll" not valid 1편대로 따라해서 실행시키면오류가 뜨는데요 어떻게 해야하나요?? 도움좀 구합니다..^^....
사용자
글등록 +120  덧글등록 +12
ririfh            [2009-11-05]
Level 1
 [EXP.6/16]
x:Class="ImageGame.Page;assembly=ClientBin/ImageGame.dll" not valid 1편대로 따라해서 실행시키면오류가 뜨는데요 어떻게 해야하나요?? 도움좀 구합니다..^^....
태그로 엮인글 리스트
글리스트
  실버라이트 튜토리얼 파트2: 레이아웃 컨트롤 사용하기 [12] 10점 오일석
  실버라이트 튜토리얼 파트 1: VS 2008과 실버라이트 2를 이용한 “Hello World” 만들기 - Scot... [9] 평가안됨 오일석
  실버라이트2와의 첫만남 - ScottGu''s First Look at Silverlight 2 의 번역본 [10] 평가안됨 오일석
  [Silverlight Game] "같은 그림 찾기" 만들기 3편 [1] 평가안됨 김동욱
  [Silverlight Game] "같은 그림 찾기" 만들기 2편 파일첨부 평가안됨 김동욱
   ★현재글->  [Silverlight Game] "같은 그림 찾기" 만들기 1편 [3] 평가안됨 김동욱
  실버라이트 2.0 베타 정보입니다. 평가안됨 쿠망
  넥슨도 실버라이트를 적용했었군요.. [1] 평가안됨 HOONS
  NBA 사이트에 실버라이트가 적용되었습니다. [1] 평가안됨 HOONS
  실버라이트1.0 원서 선택 가이드 평가안됨 HOONS
  Visual WebGui Will Soon Support Silverlight [2] 평가안됨 김현우


사용자 정보

close