'2014/06'에 해당되는 글 11건
- 2014.06.26 안드로이드 스튜디오를 사용시 기존 이클립스 폴더 불러오기.
- 2014.06.22 기본적인 프로그래머..
- 2014.06.12 유니티 2D 스파라이트 이미지 변경하기
- 2014.06.10 라인 렌더러 사용하기(게임 내 레이저 효과)
- 2014.06.09 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1)
- 2014.06.05 유니티 재귀함수의 예(헥사, 캔디팡) -Recursive Methods
- 2014.06.04 매치된 블록 떨어트리기.
- 2014.06.02 유니티 메모리 풀 사용시 주의점
- 2014.06.02 몇초후에 자동으로 삭제해주기 (2)
- 2014.06.02 적 생성 지점 표시하기
Starting a Project
When you launch Android Studio for the first time, you'll see a Welcome screen that offers several ways to get started:
- To start building a new app, click New Project.
This starts the New Project wizard, which helps you set up a project using an app template.
- To import an existing Android app project, click Import Project.
Note: If you previously developed your Android project with Eclipse, you should first use the new export feature in the ADT plugin to prepare your project with the new Gradle build system. For more information, read Migrating from Eclipse and Building Your Project with Gradle.
For additional help using Android Studio, read Tips and Tricks.
As you continue developing apps, you may need to install additional versions
of Android for the emulator and other packages such as the Android Support Library.
To install more packages, use
the SDK Manager, which you can
open from Android Studio by clicking SDK Manager
in the toolbar.
내용은 즉 이클립스에서 import 해주고, export 해줄때 gradle 옵션을 선택해서 export 해주고
안드로이드 스튜디오에서 import 해주라는 말.
'유니티 > Note' 카테고리의 다른 글
| [펌][ Unity3D ] 모바일(안드로이드) 파일생성 및 읽고 쓰기 Unity3D (0) | 2014.07.07 |
|---|---|
| 에셋번들 관련 글 및 링크 모음 (0) | 2014.07.07 |
| 안드로이드 스튜디오를 사용시 기존 이클립스 폴더 불러오기. (0) | 2014.06.26 |
| 기본적인 프로그래머.. (0) | 2014.06.22 |
| 유니티 재귀함수의 예(헥사, 캔디팡) -Recursive Methods (0) | 2014.06.05 |
| 유니티 메모리 풀 사용시 주의점 (0) | 2014.06.02 |
1. 프로그래머가 수학을 못하면
수학을 못하면 프로그래머를 못한다.
수학이란? -> 논리력
논리 없이 프로그래머는 불가하다.
수학을 접근할때 ex) 삼각법 추론을 해서 함
수학은 이론으로 가능하구나. 암기해야되는 부분은 적고, 잡다한 공식들은 언제든 도출가능
기본이 되는 최소한의 공식을 외우고 나머지는 추론함.
수학정석만 보고 여기있는 문제를 다 풀때까지 한정도?(어려운데?정석은.)
만약에 한다면
중->고 수준으로 해야될듯
수학하나는 잡자
http://kblog.popekim.com/2012/05/60-100.html
2. 책욕심
정말 책을 많이 샀을때 ->
게임 프로그래머가 되야 된다는 생각은 있고, 그 길로 가기 위한 노력을 했음.
현존하는 게임 프로그래머 관련 책은 무조건 샀음. 책을다 봤냐?다보진않음
이런 주제의 책이니까 사놔야지. 이런느낌? 게임 ai, 네트워킹 등등 책이랑 책은 다 삼
결국엔 그 책을 다 버림(보지않는 이유도있음, 그리고 꽤 두껍고, 다른 책과 거의 중복)
이미 지나서 쓸모가 없는 내용.
내 미래에 대해 불안할때 책을사면서 이런 만족을 느꼈던듯.
굳이 책 안보는 이유도 그런거 같음(필요한 내용은 거진 찾을수있음)
책이 정말 유용한 경우는 초보나 입문자들한테는 좋음
업계 관련 내용은 논문, 컨퍼런스 등을 보고 찾는게 훨씬 빠르고 효율적이고 지면도 아낄수있음.
아무리 사봤다 다 버림.(근데 난 다 봄,) 본인에 대한 불안감때문에 삼. 그러지말자.
책을 사는 기준 -> 당장 이 책을 사서 일 이주 안에 시작해서 일주일에 백페이지이상 볼 시간이 있다. 이러면 사는거고
아님 안사는거고, 책에는 돈을 덜 낭비하고, 인터넷 서핑하는 시간도 줄어들고, 그럼 불안하지 아무것도 안하는거 같으니깐.
불안할때->(스터디 절대로 하지마라)
개인프로젝트를 시작하라. 팀 프로젝트면 더 좋고 ㅇㅋ?
현업에 계신 분들은 책욕심이 많은 경우는 없음
버릴건 버리자.
자기변명이 되는게 아닌가.
책은 사지만 정작 도움이 되는건 안하는게 아닌가?
3. 스터디 절대로 하지마라(영어공부 절대로 하지마라)
스터디 보다는 프로젝트를 하라(결론)
사람들 모이는 시간을 쓰는거고 준비하는 시간을 쓰는거고 등등
이것저것 만져본게 많음.
사이드프로젝트를 해서 가진 지식이 많음
새로나온것들을 한다(언어,플랫폼 등)
실제로 구현할때 나오는 이슈들은 절대로 겪지 못함.
그리고 사람이 직접 해본건 덜 까먹음
그러니까 실제로 구현하자고!
백날 이론을 알아봐야 결국엔 소용이없어
실제로 해
제발!ㅇㅋ?
어차피 인생은 주어진 시간이 있고, 그 한정된 시간을 유용하게 사용해야된다고 생각
스터디 할바엔 사이드 프로젝트
자기 실력을 위해선 해야될 일이 있음
스터디보단 프로젝트를 하세요
4. 게임프로그래머 테크트리
게임하나 만들기 위해서 많은 걸 공부해야됨.
게임 프로그래머 테크트리는 재미가 없음.
게임프로그래밍 테크트리를 말도 안되게 잡아 놓은게 아닌가?
정말 똑똑한 얘들도 프로그래밍을 접하진 못하는 경우가 많음
재미의 요소가 있어야됨
쓸데없이 테크트리가 깊지 않나?
다행히 요즘엔 유니티가 만들어져서 그나마 괜찮음
게임을 만들면서 취미를 붙이고 그걸 기반 삼아 업그레이드 시켜가는
쉽고 좋은 언어는 c#(내가 생각하기엔) 이걸 가지고 게임을 쉽게 만들수있고
취미가 붙은 사람은 깊게 컴퓨터 공학, 컴퓨터 하드웨어등을 공부.
5. 회사에서 원하는 프로그래머
벤쿠버에서 악명높은 학교에 들어감
2년동안 4년제 수업 들을 학교니까
목표-> 강제적으로 푸쉬, 경력
실력이 뛰어난걸 보여주자 -> 학교에서 수석 졸업
하위에있는애들이 취직을할까? 하지만 하위에있는 애들이 먼저 취직했음
한국인이기때문에 캐나다에서 취직이 안된다고 까는 사람도있었음
여러번 면접을 보고 느낀게.
회사에서는 찾는 사람이 있다!
그 직종에 필요한 것이 뭔지 파악하고 갈고 닦는거
주변에 안된다는 사람이 많음
시도를 할때 가능하겠다.
자괴감에 빠지지 말라
조금은 거만하게 난 참 괜찮은 놈이야
윗선에서 봐도 나같은 놈은 채용할꺼야
자신감 결여가 큼
할수있다 노력하는 모습
뒤돌아보면서 내가 얼마나 발전을 했나 내가 원하는 곳 까지 가려면 얼마나 걸릴려나
등등 평가조차 하는것을 두려워함.
6. c# 하악하악~
자바의 편리함을 쓰면서 비쥬얼 스튜디오의 장점 인텔리전도 잘되있고 디버깅도 편하고 크래쉬도 내기 어려움
성능상도 왠만하면 문제없음. 주로 쓰는 언어는 c++ 이다.
c++도 많이 나아짐. c# 의 문제점은 크로스플랫폼안됨
예전에 테크트리얘기할때 진입장벽이높다고 얘기함
c#이 상당히 좋아보임 입문용으로.
c++알아야 되는 이유가 있음 ->성능저하에대해 알아야됨
하드웨어에 가까운걸 알면 알수록 성능에 대한 이해가 높아짐. 포인터 같은 거
c++을 깊게 배워야됨.
c# 은 툴을 만들때 너무 조음 닷넷.
서버도 이제 C# 을 사용하는 추세
IDE가 좋아서.
'유니티 > Note' 카테고리의 다른 글
| 에셋번들 관련 글 및 링크 모음 (0) | 2014.07.07 |
|---|---|
| 안드로이드 스튜디오를 사용시 기존 이클립스 폴더 불러오기. (0) | 2014.06.26 |
| 기본적인 프로그래머.. (0) | 2014.06.22 |
| 유니티 재귀함수의 예(헥사, 캔디팡) -Recursive Methods (0) | 2014.06.05 |
| 유니티 메모리 풀 사용시 주의점 (0) | 2014.06.02 |
| NGUI free 버전 2.7 (0) | 2014.06.01 |
'유니티 > 스크립트' 카테고리의 다른 글
| 카메라 부드럽게 움직이는 스크립트 (0) | 2014.07.22 |
|---|---|
| 유니티 3.5.7 버전 설치하기. (0) | 2014.07.02 |
| 유니티 2D 스파라이트 이미지 변경하기 (0) | 2014.06.12 |
| 라인 렌더러 사용하기(게임 내 레이저 효과) (0) | 2014.06.10 |
| 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1) | 2014.06.09 |
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
FPS 게임에서나 당구 게임에서 레이저 효과를 구현하려고 한다.
유니티 내에 제공하는 LineRenderer 라는 컴포넌트에서 이것을 지원해준다.
먼저 LineRenderer 컴포넌트를 빈 게임 오브젝트에 설치한다.
컴포넌트에서 Materials 를 설정해 줄수 있고
Positions 로 처음 위치 마지막 위치를 설정해 줄수도 있다.
그리고 선 길이도 설정해줄수 있다.
아래 스크립트를 붙이고 메트리얼도 유니티에서 제공되는 기본 파티클 메트리얼을 하나 입혀보자.
아래 그림처럼 처음위치(0,0,0) 에서 위로 쭉 레이저 같은 선이 생기는 것을 볼수 있다.
'유니티 > 스크립트' 카테고리의 다른 글
| 유니티 3.5.7 버전 설치하기. (0) | 2014.07.02 |
|---|---|
| 유니티 2D 스파라이트 이미지 변경하기 (0) | 2014.06.12 |
| 라인 렌더러 사용하기(게임 내 레이저 효과) (0) | 2014.06.10 |
| 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1) | 2014.06.09 |
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
| 몇초후에 자동으로 삭제해주기 (2) | 2014.06.02 |
마우스 드래그를 사용해서 비행기를 움직여보자.
먼저 여러가지 방벙이 있다.
레이 캐스트를 사용한다던가. 유니티 내부 API인 OnMouseDown 함수를 사용한다던가.
필자는 후자를 선택하겠다.
GameManager 에 사이즈 100, 100, 1인 콜라이더를 부착시킨후 GameManager 스크립트를 할당하였다.
Mathf.Clamp를 이용해 드래곤의 이동거리를 제한하고 가로로만 움직이기 때문에 y와 z값은 0으로 초기화 시켜주었다.
마우스 좌표를 월드 좌표로도 변경시켜주었다.
일단 성능상에 문제가 없을지 걱정이된다,
Drag 함수같은경우에는 매 프레임마다 호출되는 함수라.. 추후 성능상 문제가 있으면 연구해보자.
'유니티 > 스크립트' 카테고리의 다른 글
| 유니티 2D 스파라이트 이미지 변경하기 (0) | 2014.06.12 |
|---|---|
| 라인 렌더러 사용하기(게임 내 레이저 효과) (0) | 2014.06.10 |
| 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1) | 2014.06.09 |
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
| 몇초후에 자동으로 삭제해주기 (2) | 2014.06.02 |
| 적 생성 지점 표시하기 (0) | 2014.06.02 |
관련 스크립트
헥사게임같은경우
3개의 각 다른 블록이 떨어지므로 각각의 블록에 해당되는 블록마다 재귀함수를 적용해서 호출해줘야됨
1. 3개의 블록 떨어트리고 고정
2. 아래에서부터 차례대로 고정된 블록 주위로 같은 블록이 있는지 검사
3. 같은 블록은 List 에 저장
4. 같은 블록이 3개 이상이면 없애주기
- List 사용시 각각 다른 List 사용
- 중복 제거
CheckMatchHexa 에서 아래에서부터 차례대로 체크를해줌
CheckBlockMatch 함수에서 매치되는 블록 삭제 처리
CheckBlock은 재귀호출로 같은 타입이 있으면 계속해서 호출되고 List 에 저장됨,
Block 스크립트의
SelfDestroy 코루틴 함수에서는 타입을 empty로 변경한후
껏다켰다를 반복 (enabled로()후 마지막으로 _blocks의 이차원 배열에 해당되는값 null로 변경,
그리고 Block 스크립트를 할당하는 게임오브젝트 삭제
동영상 - 재귀함수에 대한 설명
http://youtu.be/p4yJ_JgAPgQ
출처 : http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=21651
여러가지 방법이 있는데요 일단 Tag를 이용하는방법을 설명해 보겠습니다
게임 블럭의 종류대로 TAG를 추가 합니다 태그명은 뭐 알아서 ^^;
저는 편의상 Block0~Block3로 할께요
Grid[x,z] = GameObject.Instantiate(Blocks[index1], new Vector3(x,0,z), Quaternion.identity)as GameObject;
Grid[x,z].tag = "Block" + index1; //이렇게 코드에 추가하신후에
터치된 블록주위를 검사해서 자신의 TAG와 같은 애들이 3개 이상이면 삭제 하시면 되겠습니다
블록을 검사하는 방법에 대해 물으신 거라면
잠깐 생각해보니 리커시브 함수를 써야 될것 같습니다
특정 블럭 즉, 자신을 중심으로 상하좌우 블럭을 조사하는 함수를 만드시고 함수내 상하좌우 블럭 조사할때 다시 해당 함수를 리커시브하게 불러서 또다시 상하좌우를 조사하시면 되겠네요
이때 이미 조사한 블럭은 중복될 수 있기때문에 이미 조사한 블럭은 어딘가에 기록으로 남겨놓아야 중복 조사를 방지 할수 있을겁니다
재귀 함수를 한번도 사용해 보지 않으셨으면 로직을 이해하는데 약간 어려움을 느끼실 것 같은데요
곰곰히 잘 생각해보면 그리 어렵지도 않습니다
일단 작성하신 CheckBlock 함수가 특정 좌표(x,z)를 받고 상하좌우를 검사하는 함수잖아요
일단 return에서 부르는 CheckBlock(x,z)는 주석처리 하시고 (왜냐하면 현재 위치를 또 검사하면 무한으로 계속 부르게 되니까요)
지금 gameObject자체를 비교하고 계신데 tag비교로 바꿔주시고
if(x > 0 && Grid[x,z].gameObject == Grid[x-1,z].gameObject){
// 전역변수 List에 해당 좌표쌍을 저장하는 코드 삽입
CheckBlock(x-1, z);
}
위 처럼 다른 사방에도 해주시면 됩니다
로직을 설명드리자면 특정 블럭 위치(x,z)의 상하좌우를 검사해서
동일한 Tag가 있는 블럭위치(a,b)를 저장할 수 있는 전역변수 C라는 List 변수에 해당 위치를 저장해 주고
또 다시 (x-1, z)블럭위치로 위 함수를 호출 하는것이죠
결과적으로 전역 C변수에는 블럭 주변에 동일한 Tag가 있는 모든 블럭위치를 저장하게 될 겁니다.
그리고 먼저 말씀 드렸다 시피 해당 블럭위치가 이미 저장되어 있는지 검사해서 함수를 호출해야 무한루프에
빠지지 않을 겁니다.
'유니티 > Note' 카테고리의 다른 글
| 안드로이드 스튜디오를 사용시 기존 이클립스 폴더 불러오기. (0) | 2014.06.26 |
|---|---|
| 기본적인 프로그래머.. (0) | 2014.06.22 |
| 유니티 재귀함수의 예(헥사, 캔디팡) -Recursive Methods (0) | 2014.06.05 |
| 유니티 메모리 풀 사용시 주의점 (0) | 2014.06.02 |
| NGUI free 버전 2.7 (0) | 2014.06.01 |
| 유니티 카메라에 따른 해상도 관련 (0) | 2014.05.27 |
게임로직
1. 게임 보드의 첫번째 세로줄부터 마지막 세로줄까지 한줄씩 선택합니다.
2. 현재 세로줄의 가장 아래쪽에서부터 위로 한 칸씩 올라가면서 비어 있는 공간이 있는지를 확인합니다.
3. 비어 있는 공간을 찾았다면 그 때부터 위로 비어 있지 않은 공간을 찾을때가지 검색합니다.
4. 비어 있지 않은 ㅚ초의 공간을 찾았다면 그 위치에 존재하는 게임 오브젝트를 낙하시킵니다.
'유니티 > 스크립트' 카테고리의 다른 글
| 라인 렌더러 사용하기(게임 내 레이저 효과) (0) | 2014.06.10 |
|---|---|
| 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1) | 2014.06.09 |
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
| 몇초후에 자동으로 삭제해주기 (2) | 2014.06.02 |
| 적 생성 지점 표시하기 (0) | 2014.06.02 |
| 유니티 내에서 시간 표시하기 00:00 형식 (0) | 2014.05.29 |
메모리 풀을 사용할때 주의점
메모리 풀은 오븢게트를 단지 껏다 켰다 할 뿐이다
그러므로 Start 함수나 Awake 함수는 최초 한번만 호출되며 나중에는 호출되지 않는다.
OnEnable() 함수에서 초기화 함수를 호출해주어야 한다.
'유니티 > Note' 카테고리의 다른 글
| 기본적인 프로그래머.. (0) | 2014.06.22 |
|---|---|
| 유니티 재귀함수의 예(헥사, 캔디팡) -Recursive Methods (0) | 2014.06.05 |
| 유니티 메모리 풀 사용시 주의점 (0) | 2014.06.02 |
| NGUI free 버전 2.7 (0) | 2014.06.01 |
| 유니티 카메라에 따른 해상도 관련 (0) | 2014.05.27 |
| 유니티 리소스 관리 법 (0) | 2014.05.27 |
'유니티 > 스크립트' 카테고리의 다른 글
| 드래곤 플라이트 움직임(마우스 드래그) Unity3D (1) | 2014.06.09 |
|---|---|
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
| 몇초후에 자동으로 삭제해주기 (2) | 2014.06.02 |
| 적 생성 지점 표시하기 (0) | 2014.06.02 |
| 유니티 내에서 시간 표시하기 00:00 형식 (0) | 2014.05.29 |
| 유니티 현재 실행중인 애니메이션 상태 받아오기 (0) | 2014.05.26 |
->
'유니티 > 스크립트' 카테고리의 다른 글
| 매치된 블록 떨어트리기. (0) | 2014.06.04 |
|---|---|
| 몇초후에 자동으로 삭제해주기 (2) | 2014.06.02 |
| 적 생성 지점 표시하기 (0) | 2014.06.02 |
| 유니티 내에서 시간 표시하기 00:00 형식 (0) | 2014.05.29 |
| 유니티 현재 실행중인 애니메이션 상태 받아오기 (0) | 2014.05.26 |
| 유한상태기계 예 스크립트(몬스터 관련) (1) | 2014.05.26 |





