2014-04-19 2 views
1

첫 번째 장면에 3 세트의 스프라이트 시트가 있습니다. Cocos2D-X를 사용하여 iOS 용으로 개발할 때 XCode를 사용하고 있습니다.Cocos2D-X 적절한 스프라이트 시트를 선택하는 가장 효율적인 방법

제 스프라이트 시트 확장 -SD, 제 스프라이트 시트 , -hd 및 제 3 세트는 상기 확장 -ipadhd와 (텍스처 패커에서 멀티 Pro 사용) 3 스프라이트 시트 있음을 갖는다. 나는 튜토리얼을 따라 나는 3 개 개의 파일 대신이 선택할 수있는 유사한 방법이 있나요이

CCString* file = (Utils::getArtScaleFactor() > 1) ? CCString::create("randomFile-hd.plist") : CCString::create("randomFile-sd.plist"); 

//The Utils::getArtScaleFactor function 
float Utils::getArtScaleFactor() 
{ 
    return artScaleFactor; 
} 

1 같이가는 방법을 찾았나요?

2- 적절한 파일 크기를 선택하는 일반적인 방법입니까?

3이 질문은 제가 논의하고있는 주제와 다소 다릅니다.하지만 실제로 답변이 필요합니다. 애니메이션이 있고 그 프레임이 3 개의 스프라이트 시트로 분할되어 있습니다. 어떻게 3 개의 .plist 파일을 캐시합니까? 그게 불가능하다면, 내 선택권은 무엇입니까?

희망 정보를 모두 제공해 주셨습니다.

+0

어디서 Utils :: getArtScaleFactor를 얻었습니까? 그것은 내 Cocosd2x v3.5에 없습니다. – Jonny

답변

1
  1. 물론 안부하지만 그 삼원 연산자 아마 선명도 및 유연성 (스위치 등)를 다른 구조체 밖으로 전환한다. 예를 들어

    :

    // Always init your pointers. 
    CCString* file = NULL; 
    
    switch (Utils::getArtScaleFactor()) 
    { 
        // Scale factor shouldn't ever be 0, but we should account for it 
        // so it doesn't get picked up by the default case. 
        case 0: 
        case 1: 
        file = CCString::create("randomFile-sd.plist"); 
        break; 
    
        case 2: 
        file = CCString::create("randomFile-hd.plist"); 
        break; 
    
        // Scale factors 3 and above get the largest resource. 
        default: 
        file = CCString::create("randomFile-super-hd.plist"); 
        break; 
    } 
    
  2. 그들은 세 가지 자원 크기에 경우 - 다른 사용을 제외하고 예, 논리의 이런 종류의 wiki에 있습니다. 나는 포럼과 튜토리얼에서도 그것을 보았다. 예적인 Cocos2D - 아이폰 포럼에 this thread에 따르면

  3. , :

CCSprite는 다른 질감을 CCSpriteFrames를 표시 할 수 있습니다. Stepan Generalov

implementations posted there은 OBJ-C에 있지만적인 Cocos2D API를 쉽게 CPP 호출로 변환 할 수 있습니다 - 그래서 다른 질감의 프레임 (spritesheets)를 혼합 애니메이션을 사용하는 모든에도 아무 문제가 없습니다.

+0

글쎄, 내 모든 질문에 대한 답변입니다! 깔끔하고 정직한 답변을 보내 주셔서 감사합니다. :) –