본문 바로가기

Programming/Objective-C4

rand() 와 arc4random() 원문 출처 : http://52c.me/archives/47 흔히 임의의 숫자를 생성할 때, rand() 함수를 많이 쓴다. rand()는 0 에서 RAND_MAX 로 정의된 0x7fffffff (2,147,483,647) 까지의 숫자를,arc4random()은 0에서 0×100000000 (4,294,967,296) 까지의 숫자를 추출하므로,rand()보다는 arc4random()으로 더욱 신뢰할 만한 랜덤값을 얻을 수 있다. 또한 rand()는 반드시 사전에 srand(time(NULL)) 형태로 시딩을 해 주어야 하지만,arc4random()은 자체 시딩로직이 있어 시딩이 필요 없다. 결론적으로 rand() 보다는 arc4random() 이 쓰기도 편하고 믿음직한 함수라 생각함. arc4random.. 2012. 7. 27.
texturepacker를 이용해서 sprite만들기 TexturePacker라는 프로그램을 통해 Sprite파일을 만드는 방법을 설명하겠습니다.먼저 프로그램을 다운받으신뒤에 설치하시고 실행하시면 아래와 같은 화면을 보실 수 있습니다.http://www.codeandweb.com/texturepacker/download다운로드 링크 먼저 상단에 Add Sprites를 누르면 위와 같이 파일을 선택할 수 있는 창이 뜨는데 가져올 이미지 파일들을 전부 선택해서 Open시켜줍니다. Open시켜주고 아래와 같이 옵션을 셋팅해주시면 아마 알아서 배치가 잘 될거에요 저장이 다되면 설정해준 경로에 .plist파일과 png파일이 같이 생길거에요 그걸 이제 Xcode에서 사용하시면 됩니다. 그 부분은 이 포스팅에서 언급하지 않겠습니다. 2012. 7. 6.
cocos2d - CCMenu안에 접근해서 이미지 바꾸기 현재 레이어(self)에 CCMenu 변수를 "kTagMenu"라는 태그명을 지정해서 자식으로 추가했을때 다음과같은 식으로 접근해서 메뉴 버튼의 이미지를 바꾼다거나 하는데 이용할 수 있다.CCMenuItemImage *menuImage1 = [[self getChildByTag:kTagMenu].children objectAtIndex:0];CCMenu에 버튼를 추가한 순으로 각 버튼마다 index가 자동으로 매겨지는데objectAtIndex 의 매개변수 값을 통해 접근 할 수 있다.접근한 버튼의 기본이미지, 선택이미지 변경방법은 다음과 같다.[menuImage1 setNormalImage:[CCSprite spriteWithFile:@"파일주소"]];[menuImage1 setSelectedImage:.. 2012. 6. 11.
Cocos2D에서 uniqueldentifier is deprecated 해결하기 CLScoreServerRequest.m 에서 NSString *device = @"";if( flags & kQueryFlagByDevice )device = [[UIDevice currentDevice] uniqueldentifier]; 부분을 CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);NSString *device = (NSString*)CFUUIDCreateString(kCFAllocatorDefault, uuid); 로 수정 CLScoreServerPost.m 에서 [self addValue:[[UIDevice currentDevice] uniqueIdentifier] key:@"cc_device_id"]; 부분을 CFUUIDRef uuid = C.. 2012. 6. 6.
반응형