Unity3D + Visual Studio 2008

 오렛만에 블로그를 쓰는것이라서 약간 부담된다...
여튼 본론으로 들어가자면 오늘 부터 잡기시작한 Unity3D에 대해서이다.
뭐 지인의 소개로 사용을 해봤지만.. 나름 괜찮은 느낌이다.
꼭 맥에서 사용하는 Xcode와 비슷한 느낌이다.

 Unity 3D의 스크립팅 툴인 UnicriTE는 자동완성이라는 기능을 지원한다.
그.러.나 완벽하지 않다. 편집하고 있는 스크립트에 있는 변수, 함수 만을 자동완성해주는듯 하다.
그래서 나름 찾아봤지만 그에 대한 내용은 뭐 거의 전무 한거 같다.(내가 못찾는 것 인지도..)
그래서 생각해낸것이 깔려있는 Visual Sudio를 이용하는거다.
다행이도 Unity3D는 스크립트 에디팅 툴로 Visual Sudio를 지원해준다.

방법은 이러하다.
메뉴에서 Edit -> Preferences ->General -> External Script Editor
을 비쥬얼 스튜디오로 바꿔주면 된다.





























위에처럼 적용된다. 그리고 스크립트를 따닥 찍어보면 뭔가뜨다가.
비쥬얼 스튜디오가 뜨면서 소스코드가 보인다. 자동완성 기능도 잘된다.


by 카인샤르 | 2011/04/17 19:03 | プログラミングはいかが? | 트랙백 | 덧글(0)

대구 게임 아카데미 4월 5일 정리

리스트 만들기

struct NODE
{
     int birthyear;
     NODE *pNext;
    //다음 노드를 가르킬 포인터
};
// 리스트 구조체

NODE *seed = NULL;
// 리스트의 첫 머리

void pushback(NODE node)// 내용을 받는다.
{
     NODE *pNewNode = new NODE;
     memcpy(pNewNode,&node,sizeof(NODE));
    //받은 네용을 동적할당된 노드에 메모리카피를 한다.
     if(seed == NULL)
          seed= pNewNode;
    //시드에 아무것도 들어있지 않을경우 첫번째 노드를 붙힌다.
     else
     {
          NODE *pNode = seed;
          while(pNode->pNext)
              {
                   pNode = pNode->pNext;
              }
            //리스트의 끝을 검사하는 부분 pNext의 값이Null이면 멈춘다
          pNode->pNext = pNewNode;
            //그리고 pNext에 세로운 노드를 붙힌다.
     }
}
// 리스트를 연결시켜주는 함수
void output(int i)
{
     int cnt = 0;
 // 카운터
     NODE *pNode = seed;
     while(cnt != i)
     {
          pNode = pNode->pNext;
          cnt++;
     }
     cout<< pNode->birthyear;
     printf("     %p",pNode);
     cout<< endl;
}
// 출력해주는함수

void clear()
{
     NODE *temp;
     NODE *pNode = seed;
     while(pNode->pNext)
     {
          temp = pNode;
          pNode = pNode->pNext;
          delete[] temp;
     }
}
//메모리를 지워주는 함수

int _tmain(int argc, _TCHAR* argv[])
{
     NODE node;
     node.birthyear =1986; 
     node.pNext = NULL;
     NODE NODE2;
     NODE2.birthyear =1899; 
     NODE2.pNext = NULL;
     NODE NODE3;
     NODE3.birthyear =1800; 
     NODE3.pNext = NULL;
     pushback(node);
     pushback(NODE2);
     pushback(NODE3);
     printf("%p\n",seed);
     output(0);
     output(1);
     output(2);
     return 0;
}

오늘 저번주부터 배우기 시작했는 리스트에 대해서 다시 배웠다.
될듯하면서 안되던 그게 오늘 보니 적절하게 풀리기 시작한다.
하지만 아직도 이해 된듯 하면서 이해가 잘안가는 부분이 몇곳있다.
콜 바이 레퍼런스! 즉 메모리 주소로 불러서 수정한다는것인데.
스텝 바이 스텝으로 따라가면 되는거 같은느낌으로 안되는 함수가 된다.
아직 프로그래머 적으로 이해 하는게 잘 안되는거 같다.
by 카인샤르 | 2010/04/05 15:19 | プログラミングはいかが? | 트랙백 | 덧글(0)

대구 게임 아카데미 004

연산자의 우선순위

Operator

Name or Meaning

Associativity

::

Scope resolution

None

.

–>

[ ]

( )

( )

++

––

typeid( )

const_cast

dynamic_cast

reinterpret_cast

static_cast

Member selection (object)

Member selection (pointer)

Array

subscript

Function call member initialization

Postfix increment

Postfix decrement

type name

Type cast (conversion)

Type cast (conversion)

Type cast (conversion)

Type cast (conversion)

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Left to right

Sizeof

++

––

~

!

+

&

*

New

delete()

Size of object or type

Prefix increment

Prefix decrement

One's complement

Logical not Unary

minus Unary

plus

Address-of

Indirection

Create object

Destroy object Cast

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

Right to left

.*

–>*

Pointer-to-member (objects)

Pointer-to-member (pointers)

Left to right

Left to right

*

/

%

Multiplication

Division

Modulus

Left to right

Left to right

Left to right

+

Addition

Subtraction

Left to right

Left to right

<< 

>> 

Left shift

Right shift

Left to right

Left to right

< 

> 

<=

>=

Less than

Greater than

Less than or equal to

Greater than or equal to

Left to right

Left to right

Left to right

Left to right

==

!=

Equality

Inequality

Left to right

Left to right

&

Bitwise AND

Left to right


출처 : MSDN

연산자의 우선순위는 프로그래밍을 할때 중요하다.
어느 연산자가 먼저 호출 될지 짐작할수 있기때문이다.
하지만 굳이 외워놓을 필요는 없다.
쓰다보면 대충 "본능"으로 알수 있을것이다.
Ps. 난 아직 그경지가 아니라서 잘모름.ㅋ
by 카인샤르 | 2010/04/01 18:15 | プログラミングはいかが? | 트랙백 | 덧글(0)

대구 게임 아카데미 003

◎지시어
 ||
 컴파일러에게 프로그래머가 알리는 말



const

 바꾸지마라!
 컴파일러에게 명시적으로 그값을 바꾸지 않게 함으로
 그 인자를 상수로 만들어주는것

volatile

하드웨어적으로 값이 바뀌는것을 컴파일러에게 알림
 ps. 현재 프로그래밍에선 거의 쓰이지 않는다.

exturn


어딘가에 있다!
 컴파일러에게 어딘가에 선언 되있음 을 알림으로 인해
 컴파일 시 사용에 대해서 무시된다.

static

지역변수를 전역변수로 전환해줌
 함수, 클레스, 안에서 선언했으나 그함수를 빠져 나와도
 계속 살아있게 만들어준다.

register

 CPU내부에 만들어라. 그만큼 속도가 빨라진다.
 ps. 속도가 빠르지만 공간이 매우작다.

by 카인샤르 | 2010/04/01 18:05 | プログラミングはいかが? | 트랙백 | 덧글(0)
<< 이전 페이지 다음 페이지 >>