cocos2d 학습노트(5)CCMenu와 CocosDenshion

CCMenu
게임 중의 메뉴는 반드시 없어서는 안 된다. CCMenu가 바로 네가 원하는 것이다.
CCMenu를 만들려면 CCMenuItem 대상이 있어야 합니다. CCMenuItem은 메뉴의 어떤 옵션입니다. 그림, 텍스트 등을 사용할 수 있습니다.
cocos2d는menuitem에 필요한 전환 방법을 제공했다. 예를 들어CCMenuItemLabel은 CCLabelBMFont를 통해 얻을 수 있다.게임 중의 일부 스위치, 예를 들어 소리 스위치는 CCMenuItemToggle 대상을 사용할 수 있다
모든 CCMenuItem은 만들 때 대상을 연결하는 방법입니다. 이 CCMenuItem이 눌렸을 때 이 방법을 터치합니다.
2. 코코스 덴시온
cocos2d에는 Cocos Denshion이 통합되어 있지만 게임에서 우리는 일반적으로 전체 배경음악이나 음향 효과가 있기 때문에 우리는 Simple Audio Engine만 사용하면 된다.
Simple Audio Engine은 사실 CDAudio Manager에 대해 약간의 봉인을 진행했습니다. 우리는 잠시 세부 사항의 실현에 관심을 두지 않고 어떻게 사용하는지 먼저 봅시다
SimpleAudioEngine 객체의 성공을 보장하는 공통 코드입니다.
    // Indicate that we are trying to start up the Audio Manager
    [CDSoundEngine setMixerSampleRate:CD_SAMPLE_RATE_MID];
    
    //Init audio manager asynchronously as it can take a few seconds
    //The FXPlusMusicIfNoOtherAudio mode will check if the user is
    // playing music and disable background music playback if 
    // that is the case.
    [CDAudioManager initAsynchronously:kAMM_FxPlusMusicIfNoOtherAudio];
    
    //Wait for the audio manager to initialise
    while ([CDAudioManager sharedManagerState] != kAMStateInitialised) 
    {
        [NSThread sleepForTimeInterval:0.1];
    }
    
    //At this point the CocosDenshion should be initialized
    // Grab the CDAudioManager and check the state
    CDAudioManager *audioManager = [CDAudioManager sharedManager];
    if (audioManager.soundEngine == nil || 
        audioManager.soundEngine.functioning == NO) {
        CCLOG(@"CocosDenshion failed to init, no audio will play.");
        managerSoundState = kAudioManagerFailed; 
    } else {
        [audioManager setResignBehavior:kAMRBStopPlay autoHandle:YES];
        soundEngine = [SimpleAudioEngine sharedEngine];
        managerSoundState = kAudioManagerReady;
        CCLOG(@"CocosDenshion is Ready");
    }

대상이 성공적으로 만들어진 후에 이 대상을 사용할 수 있습니다. 미리 불러오는 과정은 프로그램이 멈추기 때문에 주 라인에서 소리를 미리 불러오지 마십시오.
[soundEnginepreloadBackgroundMusic:trackFileName];
[soundEngineplayBackgroundMusic:trackFileNameloop:YES];
[CDSoundEngine setMixerSampleRate:CD_SAMPLE_RATE_MID];

샘플링 확률을 설정합니다. CocosDenshion.h에서 각종 샘플링 확률의 매크로 정의를 볼 수 있으며 자신의 음성 파일에 따라 설정할 수 있습니다. 주의: 소리 파일이 설정된 샘플링 확률보다 낮을 때 설정된 샘플링 확률을 사용하여 메모리의 낭비를 초래할 수 있습니다.
4
    [CDAudioManager initAsynchronously:kAMM_FxPlusMusicIfNoOtherAudio];
에는 다음과 같은 모드가 있습니다.
kAMM_FxOnly,//!Other apps will be able to play audio
kAMM_FxPlusMusic,//!Only this app will play audio
kAMM_FxPlusMusicIfNoOtherAudio,//!If another app is playing audio at start up then allow it to continue and don't play music
kAMM_MediaPlayback,//!This app takes over audio e.g music player app
kAMM_PlayAndRecord//!App takes over audio and has input and output
모두 잘 알기 때문에 일일이 번역하지 않겠다

좋은 웹페이지 즐겨찾기