cocos2d 학습노트(5)CCMenu와 CocosDenshion
게임 중의 메뉴는 반드시 없어서는 안 된다. 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
모두 잘 알기 때문에 일일이 번역하지 않겠다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpriteKit은 게임 점프 캐릭터에 높이 표시기를 추가합니다이것은 점프 낙서와 유사한 작은 게임이다. 주인공이 끊임없이 에너지 공을 먹고 점프 에너지를 얻어 더 높은 곳으로 점프한다. 그림에서 블랙홀에 부딪히면 걸린다. 게임 디버깅 과정에서 주인공의 높이를 실시간으로 알았으...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.