'- Study'에 해당되는 글 2건

  1. 2007.03.08 사각 충돌 (3)
  2. 2006.11.29 게임 프로그래밍 스터디 과정

사각 충돌

- Study 2007.03.08 21:15
사각형 충돌을 구현하려고 생각해보니 예전에 사용했던 코드가 생각나 끄적여 본다.

void IsCollisionRect(CRect *pRect,  CRect *pRect2)
{
  long minX = min(pRect->GetX(), pRect2->GetX());
  long maxX = max(pRect->GetX() + pRect->GetWidth(), pRect2->GetX()
    + pRect2->GetWidth());
  long minY = min(pRect->GetY(), pRect2->GetY());
  long maxY = max(pRect->GetY() + pRect->GetHeight(), pRect2->GetY()
    + pRect2->GetHeight());
 
  if (maxX - minX < pRect->GetWidth() + pRect2->GetWidth() &&
    maxY - minY < pRect->GetHeight() + pRect2->GetHeight())
  {
    return true;
  }
  return false;
}

먼저 두 사각형의 Left 좌표중 작은 값을 기억하고 Right 좌표중에 가장 큰 값을 기억한다.
(Right - Left)를 연산 한다. 이 값이 두 사각형의 Width를 합친 값보다 작으면 충돌이고
크면 충돌이 아니다.

역시 Top과 Bottom도 마찬가지다. 그림을 그리면서 써 놓고 싶지만 쉬운 식이므로 패스.
그래도 이해가 안된다면 자 생각해보자. 두 사각형의 Width 각각 100, 100 이라고 하자.
그럼 합은 200 일 것이다. 제일 작은 X 값과 제일 큰 X 값을 빼면 거리가 나올 것이다.

그럼 비교하면 땡! 너무 쉬운거라; 설명하기도 힘들다. 이런거 써 놓는 나도 참....
오랜만에 스프라이트 툴 만들면서 써봤는데... 그래도 두 사각형 좌표 막 비교하는 것 보다는
훨씬 유용한 것 같다. 이걸 어디서 책에서도 본 기억이 있는데;; 책 이름은 기억이 안난다.

from : http://charmzine.com/blog/charmzine/tag/%C3%E6%B5%B9


/////////////////////////////////////////////////////////////////////////

기존 프로젝트에서는 스프라이트데이터에서 충돌영역을 가져와
검사를 했지만 지금 진행중인건 속도 향상을 위해서
미리 객체의 넓이를 정하고 위의 코드로 충돌검사를 할거다.
왜? 내맘.~
신고
Posted by TrustMe™

1.c

A Tutorial Introduction to C Language
프로그램을 짜기 위한 기본적인 사항을 공부
ㆍ프로그램 구조
ㆍ저수준 I/O와 고수준 I/O
ㆍ버퍼링
ㆍ외부 변수와 내부 변수
ㆍCall by value와 Call by address

Types, Operators and Expressions

Data 의 메모리 표현
Operator 들의 구체적인 사용 방법
형 변환

Control Flow

반복문, 제어문, 선택문, 분기문

Functions and Program Structures

변수의 분류 비교
ㆍBinding
ㆍScope rules
Code structure
Program organization
Macro Recursion
Pointers and Array
포인터와 메모리의 관계
형의 합성
ㆍ포인터와 배열
ㆍ포인터와 스트럭처
ㆍ포인터와 함수

Structures

Structure 와 Function
Unions
Bit field manipulation 와 Bit field type

Mini-Project 1

배열을 이용한 미니 프로젝트
ㆍ공학계산기
ㆍ미로

Input and Output

파일 액세스
파일의 데이터 스트럭처
고수준 입출력 함수
기본적인 라이브러리
Command line argument

Interface to UNIX system

저수준 입출력 함수

Array and Structure

순차 리스트, 다차원 배열, 희소 행렬

Stacks and Queues

스택과 큐, 원형 큐, 다중 스택과 큐

Linked Lists

단순 연결 리스트
연결 스택과 큐
원형 연결 리스트
이중 연결 리스트

Trees

트리 표현, 트리 탐색
쓰레드 이진 트리, 이진 탐색 트리, 히프 트리

Graph

그래프 표현, 그래프 탐색
최단 거리 알고리즘
AOV Network, AOE Network
위상 정렬

Sorting

선택 정렬, 삽입 정렬, 퀵 정렬, 합병 정렬, 히프 정렬

Mini-Project 2

다중 리스트를 이용한 미니 프로젝트
ㆍ인사관리시스템


2.c++

Advanced C
C언어중 고급 기법에 대해 복습한다.
Static지역변수, static 전역변수, static 함수.
Internal linkage Vs External Linkage
Const Pointer
Array Pointer
Function Pointer
함수 호출의 원리(Stack Frame)
가변 인자를 갖는 함수.

C++ Better than C

C++문법중 C의 문법과 달라진 점에 대해서 학습합니다.
reference, Overloading, inline, default parameter
namespace, casting, new / delete

OOP & Class

C++에 추가된 객체 지향 문법인 class에 대해 배웁니다. OOP 개념, class, 생성자, 소멸자, 복사 생성자
얕은 복사, 깊은 복사, 참조 카운트
static 멤버, const 멤버, 연산자 재정의, 상속
스마트 포인터, 함수 객체
다형성, 캡슐화, 상속성에 대해 배웁니다.
표준 입출력, 파일 입출력

Generic & STL

C++ 의 표준 library인 STL의 원리 및 사용법을 익힙니다.
iterator, functor, binder, predicator, not, function adapter
sequence container, associative container, container adapter
algorithm function
generic programming

Design

객체지향 설계기법을 배웁니다.
composite, aggregation, association
control class
MVC(model, view, controller)
singletone, observer, strategy, factory, prototype
application frame work
smart pointer

3.api
4.mfc
5.다이렉트x

-_-와..많다. OTL..
[[ 추후 세부내용 추가 ]]

신고
Posted by TrustMe™


티스토리 툴바