2014년 6월 30일 월요일

cocos2d 좌표계 변환

cocos2d  좌표계에 부적응 중이다.

이거 어떻게 프로그래밍 해야 하는지 ㅠ.ㅠ

0,0  ------------> width x+
|
|
|
|
height y+

이러한 죄표계에 익숙한 나로서는


1 y+
^
|
|
|
|
0,0---------------> 1 x+

위와 같은 수학 좌표계 같은 cocos2d 좌표계가 너무 어렵다.

일단 스프라이트에 anchor는 고려 하지 않고

기존 UIkit에 좌표를 주면 cocos2d  ccp()에 넣을수 있는 float을 리턴 하는 메서드를
작성 하였다.

이것으로  대충 적응 해야 겠다.

- (float) convertX:(int)x
{
    CGSize s = [[CCDirector sharedDirector] viewSize];
    return (x) * (1.0 / s.width);
}

- (float) convertY:(int)y
{
    CGSize s = [[CCDirector sharedDirector] viewSize];
    return (s.height -y) * (1.0 / s.height);

}

아래와 같이 이용하면 된다.
btn.position = ccp( [self convertX:160], [self convertY:284] );