모 바 일 게 임 제 작 한국IT전문학교 박재성.

Slides:



Advertisements
Similar presentations
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
Advertisements

2D 게임 프로그래밍 프로젝트 학과 : 게임 공학과 학번 : 이름 : 최우진.
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
2D 게임 프로그래밍 1 차 프로젝트 배태민. 목 차목 차 ◎ 게임컨셉 ◎ 게임플레이 ◎ 개발범위 ◎ 개발일정.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
VIM Hanul Lim. 기본적으로 지원하지 않는 기능을 활용하 기 위해 사용하는 소스코드 – 종류 : C#, Javascript, Boo – 추천언어 C# : 고급기능 활용하기에 용이함 Javascript : 초보가 활용하기에 용이함 – 스크립트 Reference.
1 차시 : SW 코딩으로 배우는 3D 기초작품 및 톱니바퀴 만들기 1)SPL3D 프린팅 툴 설치하기 2) 도형 추가하기 3) 도형 연산 명령어 익히기 4)3D 프린터 출력을 위한 STL 파일 내보내기 5) 하트모양 만들기 6) 하트모양 열쇠고리 만들기 7) 변수와 수식.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
스마트워크(가상화) 외부 접속 방법 정보관리실.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
코크파트너 설치 가이드 Window 7.
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Outlook Express 메일 백업 및 복원가이드
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Lesson 5. 레퍼런스 데이터형.
SAP GUI 설치 가이드 프로세스 혁신 TFT.
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
Communication and Information Systems Lab. 황재철
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
Javascript Basic Sample Programs
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
프로그래밍 랩 – 7주 리스트.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
13. 연산자 오버로딩.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
2d 게임 프로그래밍 galaga 유진명.
인터넷응용프로그래밍 JavaScript(Intro).
반응형 웹 프로젝트
Lesson 4. 수식과 연산자.
주의할 점!!!! 1. 문자 쓸 때 문자 틀 글자 크기에 맞추기 2. 색 보정할 때 Colorize 체크하고 /
영상처리 실습 인공지능연구실.
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
2차시: 달의 공전 지구과학
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
인터넷응용프로그래밍 JavaScript(Intro).
1차시: 낮과 밤이 생기는 원리 지구과학
스위시 맥스2 이미지 갤러리 만들기 아래 그림이 스위시 맥스2로 만들 이미지 갤러리 이다.
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
빌드 성공.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 15회차 강사 : 박영민.
2D게임 프로그래밍 1차 프로젝트 배태민.
모 바 일 게 임 제 작 한국IT전문학교 박재성.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
메뉴(Menu) 컴퓨터응용 및 실습 I.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
무선랜 사용자 설명서 (Windows Vista 사용자).
2D Game Programming 1차 발표 배강산.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
01. 로컬 사용자 계정 기본 사용자 계정은 Windows 2000, Windows XP, Windows Server 2003을 설치할 때 자동으로 생성 [시작] → [제어판] → [관리 도구]를 선택하고 [컴퓨터 관리] 창을 열어 ‘시스템 도구’ → ’로컬 사용자 및.
Docker Study 6~7.
BoardGame 보드게임 따라가기.
Presentation transcript:

모 바 일 게 임 제 작 한국IT전문학교 박재성

5 장 게임 제작의 기초(2) 모 바 일 게 임 제 작

5.22 미사일 연속 발사 키/버튼을 누를 때 실행하는 함수 input.GetButtonDown(“Fire1”); //한번 input.GetButton(“Fire1”); //지속적으로 마우스 버튼을 누를 때 실행하는 함수 input.GetMouseButtonDown(1); //한번 input.GetMouseButton(1); //지속적으로

5.22 미사일 연속 발사 public class CsFighter : MonoBehaviour { public GUISkin skin; // GUI Skin public Transform asteroid; // 운석 public Transform missile; // 미사일 프리팹 public Transform expBig; // 폭파 불꽃 큰 것 public AudioClip sndMissile; // 미사일 발사 사운드 Transform LPoint; // spPoint Left Transform RPoint; // spPoint Right GameObject LFire; // 왼쪽 불꽃 GameObject RFire; // 오른쪽 불꽃 bool canFire = true; // 미사일을 발사할 수 있는가? bool isDead = false; // 전투기가 폭파되었는가? int HP = 10; // 전투기 보호막 int score = 0; // 점수 int speed = 20; // 스피드 float fw = Screen.width * 0.08f; // 전투기의 폭

5.22 미사일 연속 발사 void Start () { //Spawn Point 찾기 LPoint = transform.Find("LPoint"); RPoint = transform.Find("RPoint"); //변수초기화 HP = 5; score = 0; isDead = false; }

5.22 미사일 연속 발사

5.22 미사일 연속 발사 void Update () { if (isDead) //전투기가 폭파되었으면 종료. return; MoveFighter(); //전투기이동 ShootMissile(); //미사일발사 MakeAsteroid(); //운석만들기 }

5.22 미사일 연속 발사 void ShootMissile () { if (Input.GetButton("Fire1") && canFire) { MakeMissile( ); } void MakeMissile () // 미사일 만들기 Instantiate(missile, LPoint.position, Quaternion.identity); Instantiate(missile, RPoint.position, Quaternion.identity); AudioSource.PlayClipAtPoint(sndMissile, transform.position);

5.23 yield와 Coroutine - 미사일의 지속적 발사를 지연 시키기 void ShootMissile () { if (Input.GetButton("Fire1") && canFire) { StartCoroutine("MakeMissile"); } IEnumerator MakeMissile () canFire=false; // 미사일 만들기 Instantiate(missile, LPoint.position, Quaternion.identity); Instantiate(missile, RPoint.position, Quaternion.identity); AudioSource.PlayClipAtPoint(sndMissile, transform.position); yield return new WaitForSeconds(0.2f); //0.2초지연 canFire = true;

5.24 오브젝트 보이기/감추기 planeY를 추가해서 왼쪽(Lfire), 오른쪽(Rfire) 발사 위치를 설정한다. Lfire를 만든 다음 Ctrl + D 를 눌러서 Rfire를 만든다. GameObject LFire; // 왼쪽 불꽃 GameObject RFire; // 오른쪽 불꽃 void Start () { LFire = transform.Find("LFire").gameObject; RFire = transform.Find("RFire").gameObject; LFire.SetActive(false); RFire.SetActive(false); //LFire.renderer.enabled = false; //RFire.renderer.enabled = false; }

5.24 오브젝트 보이기/감추기 MakeMissile()에 발사불꽃 보이기/감추기 부분 추가 IEnumerator MakeMissile () { //불꽃보이기 LFire.SetActive(true); RFire.SetActive(true); yield return new WaitForSeconds(0.2f); // 0.2초 간격으로 미사일 발사 //불꽃 감추기 LFire.SetActive(false); RFire.SetActive(false); canFire = true; }

5.25 운석 만들기 18/100 확률로 운석 만들기 void MakeAsteroid () { if (Random.Range(0, 1000) > 980) { Instantiate(asteroid); }

5.26 전투기의 충돌 처리 전투기에 Rigidbody 추가 Use Gravity 속성 해제 운석의 Sphere Collider의 Is Trigger 항목을 체크 // CsFighter.cs 에 충돌 처리 void OnTriggerEnter (Collider coll) { if (coll.transform.tag == "ASTEROID") { // 운석 파괴 coll.SendMessage("DestroySelf", SendMessageOptions.DontRequireReceiver); HP--; if (HP <= 0) { StartCoroutine("DestroyFighter"); }

5.26 전투기의 충돌 처리 IEnumerator DestroyFighter () { Instantiate(expBig, transform.position, Quaternion.identity); yield return new WaitForSeconds(1); //1초 지연 //전투기의 위치를 화면 밖으로 이동 transform.position = new Vector3(0, -10, -20); isDead = true; }

5.27 전역 변수와 점수 표시 CsFighter.cs 에 추가 void OnGUI () { // 화면의 중심 좌표 구하기 int w = Screen.width / 2; int h = Screen.height / 2; GUI.Label(new Rect(10, 10, 120, 50), “HP : “ + HP); GUI.Label(new Rect(w - 50, 10, 120, 50), “Score : “ + score); }

5.27 전역 변수와 점수 표시 운석이 명중되면 CsFighter.cs의 score 변수에 값을 넣는다 static public int score=0; void HitMissile (Vector3 pos) { // 스코어 100 증가 CsFighter.score += 100; } void DestroySelf () // 스코어 1000 증가 CsFighter.score += 1000;

5.28 게임 오버 처리 Play 버튼, Quit 버튼을 생성한다. Void OnGUI(){ … if (!isDead) return; if (GUI.Button(new Rect(w - 60, h - 50, 120, 50), "Play Game")) { Application.LoadLevel("MainGame"); } if (GUI.Button(new Rect(w - 60, h + 50, 120, 50), "Quit Game")) { Application.Quit();

5.29 GUI Skin 사용하기 버튼과 레이블의 글꼴을 변경한다. 프로젝트 뷰에 Font와 GUI Skin 설치 GUI Skin의 Font, Button 등 필요한 부분 속성 설정 OnGUI() 함수가 있는 스크립트에서 GUISkin type의 전역 변수 선언 3)의 전역 변수에 프로젝트 뷰의 GUI Skin 연결 OnGUI()함수에서 GUI.skin = 3)의 변수 설정

5.29 GUI Skin 사용하기 글꼴 추가

5.29 GUI Skin 사용하기 GUI 폴더를 만들고 Create > GUI Skin 선택해서 GUI Skin을 하나 추가. 이름을 GUI Skin으로 변경 GUI Skin의 글꼴 설정 CsFighter.cs 에 GUI Skin 추가 public GUISkin skin; void OnGUI(){ GUI.skin = skin; }

5.29 GUI Skin 사용하기 전투기에 설정된 CsFighter.cs 의 GUISkin 변수에 Project뷰의 GUISkin을 할당한다.

5.30 Rich Text GUI에 출력할 문자열에 스타일을 추가 하는 기능 HTML태그 형식 사용 <size=“글자크기”>표시할 내용</size> <color=“컬러”>표시할 내용</color> <b>표시할 내용</b> <i>표시할 내용</i> void OnGUI () { … string sHp = "<color=yellow><b>HP : ##</b></color>"; string sScore = "<color=#00ff00ff><b>Score : ##</b></color>"; GUI.Label(new Rect(10, 10, 120, 50), sHp.Replace("##", HP.ToString())); GUI.Label(new Rect(w - 50, 10, 120, 50), sScore.Replace("##", "" + score)); }