2015년 3월 25일 수요일

2015.03.26 전라북도게임아카데미 클래스와 메서드

클래스를 예제로 쉽게 말하면

자동차 카니발이라는 차종이 있다. 

그리고 지금 내 앞에 카니발이 3대가 있다.

여기서 앞에 있는 카니발 한대한대를 인스턴스라고 부르고 

이 3대를 부르는 것을 객체라고 한다. 그리고 카니발이라는 차 자체를 클래스라고 한다. 

클래스를 만들면 사용하기 위해서 RAM에 올라가는데 이 올라간 것을 인스턴스라 부르는

것이다.

클래스는 데이터와 메소드의 집합이다. 

데이터들은 값들이고 변수에 할당 되어진다.

메서드는 이러한 데이터들을 이용하여 어떠한 기능은 수행하는 역할을 한다.


2015년 3월 24일 화요일

2015.03.25 전라북도게임아카데미 Data Size 알아보기

using UnityEngine;
using System.Collections;

public class CsDataSize : MonoBehaviour {
 
    // Use this for initialization
    void Start()
    {
   
        Debug.Log("Size of byte:   " + sizeof(byte));
        Debug.Log("Size of short:  " + sizeof(short));
        Debug.Log("Size of int:    " + sizeof(int));
        Debug.Log("Size of long:   " + sizeof(long));
        Debug.Log("Size of double: " + sizeof(double));
        Debug.Log("Size of float:  " + sizeof(float));


    }

    // Update is called once per frame
    void Update()
    {

    }
}


sizeof() 를 이용하자. 

2015.03.24 전주게임아카데미 개발 환경설정

1.윈도우 8.1

2.Visual Studio 2013 community 설치 -> 계정 등록

3.언어팩 설치후 tools->option->international setting

4.C#프로젝트 생성 및 Hello 찍어보기

5.Unity 4.6.3f 설치

6.Unity 실행 및 monodevelop으로 C#스크립트 작성후 hello 찍어보기

7.Visual Studio 2013 Tools for Unity 설치

8. Unity 실행후 Assets->Import pakege->Visual Studio 2013 Tools

9.만약 Assets에 없다면 C:\ 에서 Visual Studio 2013 Tools 패키지 찾은 다음

 Unity 경로 C:\Unity\Unity4.6.3f\Editor\Standard Packages 에 패키지 추가하면 Assets

에 보임

10. Import후 스크립트 실행-> vs뜨면 성공!

2015년 3월 13일 금요일

2015 03 13 unity2d mouse drag

using UnityEngine;
using System.Collections;

public class CsDrag : MonoBehaviour {
Ray ray;
RaycastHit2D hit;
Rigidbody2D grabbedObject=null;


// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

if (Input.GetMouseButtonDown (0)) {



Vector3 mouseWorldPos3D = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 mousePos2D= new Vector2(mouseWorldPos3D.x,mouseWorldPos3D.y);

//Debug.Log(mousePos2D);
Vector2 dir = Vector2.zero;


hit = Physics2D.Raycast (mousePos2D,dir);

if (hit!=null&&hit.collider!=null){
//Debug.Log (hit);
if(hit.collider.attachedRigidbody!=null){
grabbedObject=hit.collider.attachedRigidbody;
}

}




}

if (Input.GetMouseButtonUp (0)) {

grabbedObject=null;
}

}


void FixedUpdate(){
if (grabbedObject != null) {

Vector3 mouseWorldPos3D = Camera.main.ScreenToWorldPoint (Input.mousePosition);
Vector2 mousePos2D = new Vector2 (mouseWorldPos3D.x, mouseWorldPos3D.y);


grabbedObject.position = mousePos2D;

}
}
}


MainCamera Projection -> Orthographic!!!!!!!! 필수

2015년 3월 11일 수요일

2015 03 11 게임 아카데미 apk추출과 C# 열거체

응용프로그램 (APK) 공유 및 백업 구글 스토어에서 다운 

파일 체크후 back up 하면 끝 

추출한 apk 파일은 압축파일이다. 압축을 풀고 

ILSpy 파일을 이용하여 C#코드를 확인 할 수 있다.



c#열거체란 

상징적인 문자에 고유번호(상수)를 넣어 사용하는 방법





using System;
public class EnumTest
{

enum Days{Sun, Mon, Tue, Wed, Thu, Fri, Sat};
static void main()
{
int x = (int) Days.Sun;
int y = (int) Days.Fri;
Console.WriteLine("sun = {0}", x);
Console.WriteLine("Fri = {0}", y);
Console.WriteLine("Days = {0}", (Days)Enum.Pasre(Days.Sun.GetTypes(),"Sun",True)); // 이런식으로 표현가능
}

}


위의 열거자 enum Days{ Sun,Mon,Tue,Wed,Thu,Fri,Sat} 는  

Sun의 값은 0이며 순차적으로 1,2,3,4...로 증가한다.