전체 글
-
C# 3교시...@ 16. 1 ~ 17. 1/C# 2014. 7. 27. 22:25
확장 메소드.. 기존 클래스의 기능을 확장하는 기법인데..이게 상속과는 다르다 이거야.. 기존 클래스의 기능을 확장하는것이다.. 확장 메소드를 선언하는 방법은 메소드를 선언하되 1. static 한정자로 수식해야하고.. 그리고 2. 첫 번째 매개변수는 반드시 this 키워드와 함께 확장하고자 하는 클래스의 인스턴스여야 합니다. 3. 그 뒤에 따라오는 매개변수 목록이 실제로 확장 메소드를 호출할 때 입력되는 매개변수이다. using A; using B; namespace A { public class aa { public void data() { Console.WriteLine("A클래스"); } } } namespace B { public static class bb { public static void..
-
C# 2교시...C++차이점위주..@ 16. 1 ~ 17. 1/C# 2014. 7. 26. 21:23
c++ 에서는 객체 생성시.. 클래스 a; 이런식인데.. C#에서는 클래스 a = new 클래스(); 이런식이다 a가 포인터도 아닌데.. 그냥 클래스 a를 할 경우.. a는 NULL을 가진다.. 왜냐면 c#에서는 모든 클래스는 참조 형식이기 때문에..? (포인터가 없다는 이야기도..) 그리고 클래스내 맴버나 메서드 선언시.. 한정자..를 계속 붙여줘야.. public 반환값 메서드 이름 (매개변수) ...더 큰 충격적인 사실.. 소멸자를 구현하지 말라고 한다..왜냐면 가비지 컬렉터가 우리보다 훨씬 똑똑하게 객체의 소멸을 처리한단다..응? A a=new A(); A.data=10; A b=a; b.data=20; ab의 값은? a는 20 b도 20...왜냐고? C#에서 new 로 항상 클래스의 객체를 생성..
-
C# 시작하다...@ 16. 1 ~ 17. 1/C# 2014. 7. 25. 22:53
우선..비슷하다..C++와.. static void Main(string[] args){} 메소드는 프로그램의 진입점으로써 프로그램을 시작하면 실행되고 이 메소드가 종료되면 프로그램도 역시 종료.. 반드시 있어야함.. cout 과 같아 보이는.. console.writeLine 자세히는 아직 모르겠음.. 또한 청소부가 있다? 가비지 컬렉터... 힙에 더 이상 사용하지 않는 객체가 있다면 수거함.. 참조형식의 object?? object a=10; 실제 값 10은 힙에 저장 a에는 힙의 주소만 저장.. demical? 실수를 다루는 데이터인데. double 보다 크다.. demical c=3.2222222~~~~~~~~~m; m을 뒤에 붙인다. 다시 object형식으로 돌아와서..객체다..?! 어떤 데이터..
-
실시간 게임(키보드 입력, 프레임레이트)@ 16. 1 ~ 17. 1/게임프로그래밍의 정석 2014. 7. 24. 22:32
한장 한장의 단순한 정지에서 움직임을 메인루프를 빠르게 돌리면 된다.. 1초에 메인 루프가 몇 번 도는지를 프레임 레이트라고 부른다. 콘솔에서는 cin으로 입력을 받으면 이미지가 정지된 이유는 입력이 들어올때까지 기다리던 구조 그래서 이 부분을 살펴봐서 있으면 가져오고 없으면 그대로 함수를 종료하는 식으로 바꾸면 된다. 그런데 1초에 몇번이나 루프를 도는지는 컴퓨터 성능과 코드 완성도에 서로 다르다. 어떤건 1000번 어떤건 100번 그러면 어떤건 광속으로 움직이고 어떤건 천천히 움직이고.. 프레임 레이트를 내려야할까? 그랬다간 에니메이션 움직임이 어색해질 수도 있다. 그러면 몇 프레임에 한번만 키 입력을 받을까? 이것도 곤란하다 빠르게 키를 입력하면 무시되니까... 해결책은 3가지 방법이 있다. 1. ..
-
혼합공식@ 16. 1 ~ 17. 1/게임프로그래밍의 정석 2014. 7. 23. 22:51
알파 블렌딩 관련.. 사과주스(a)와 오렌지 주스(b)가 있다고 하자. 이들을 섞어서 혼합 주스 1리터를 만들고자 한다. 사과주스를 x만큼 오렌지주스를 y만큼 섞는다면 xA + yB = 혼합주스 더한양이 1리터라는 사실에서 아래와 같다. x + y = 1 이 식을 변형하면 y = 1-x가 되고 이를 위의 주스 혼합 공식에 넣으면.. xA + (1 - x)B = 혼합주스 이렇게 된다. x가 1이라면 전부 사과주스만 나오고... x가 0이면 전부 오렌지 주스가 나온다.. x를 그 사이값으로 하면 나름 혼합주스가 나온다. 색도 이와 같다. A를 전경 B를 배경이라고 하면 xA + (1-x)B = 혼합된 색 x는 알파 채널값을 사용한다. 근데 알파 채널은 0에서 255사이값을 가지니 더해서 1이 되게 하기위해(..