Particle
Cocos2d-x 에서는 기본즉으로 다음과 같은 기본 파티클을 제공한다.
- ParticleFire: Point particle system. Uses Gravity mode.
- ParticleFireworks: Point particle system. Uses Gravity mode.
- ParticleSun: Point particle system. Uses Gravity mode.
- ParticleGalaxy: Point particle system. Uses Gravity mode.
- ParticleFlower: Point particle system. Uses Gravity mode.
- ParticleMeteor: Point particle system. Uses Gravity mode.
- ParticleSpiral: Point particle system. Uses Gravity mode.
- ParticleExplosion: Point particle system. Uses Gravity mode.
- ParticleSmoke: Point particle system. Uses Gravity mode.
- ParticleSnow: Point particle system. Uses Gravity mode.
- ParticleRain: Point particle system. Uses Gravity mode.
파티클 효과는 plist 파일로 저장이 되어있다.
값을 직접 지정해서 만들수도 있지만 보통 파티클 제작 툴을 사용한다.
particle2dx.com
Sound
Cocos2d-x에서 사운드를 출력하려면 심플 오디오 엔진을 사용해야 한다.
사운드의 종류는 크게 배경음악과 효과음으로 구분할 수 있다.
배경음악은 동시에 여러개를 출력 할 수 없지만, 효과음의 경우 중복하여 여러개의 효과음을 출력 할 수 있다.
배경음악 시작
#include "SimpleAudioEngine.h"
using namespace CocosDenshion;
{
SimpleAudioEngine::getInstance()->playBackgroundMusic("파일이름.mp3");
}
SimpleAudioEngine에는 다음과 같은 매소드가 있으며 자세한 내용은 파일을 참고하면 된다.
/**
* Play background music.
*
* @param filePath The path of the background music file,or the FileName of T_SoundResInfo.
* @param loop Whether the background music loop or not.
* @js playMusic
* @lua playMusic
*/
virtual void playBackgroundMusic(const char* filePath, bool loop = false);
/**
* Stop playing background music.
*
* @param releaseData If release the background music data or not.As default value is false.
* @js stopMusic
* @lua stopMusic
*/
virtual void stopBackgroundMusic(bool releaseData = false);
/**
* Pause playing background music.
* @js pauseMusic
* @lua pauseMusic
*/
virtual void pauseBackgroundMusic();
/**
* Resume playing background music.
* @js resumeMusic
* @lua resumeMusic
*/
virtual void resumeBackgroundMusic();
효과음 시작
int sound = SimpleAudioEngine::getInstance()->playEffect("effect1.wav");
보통 배경음악의 경우 mp3를 많이 사용하고 효과음은 압축이 되어있지 않은 wav를 주로 사용한다고 한다. (속도가 빠른가??)
효과음의 경우 중복 출력이 가능하므로 리턴하는 ID를 이용하여 효과음을 제어 할 수 있다.
기타 메소드
virtual bool isBackgroundMusicPlaying(); // 현재 배경음악이 재생중인지
// 볼륨 조절
virtual void setBackgroundMusicVolume(float volume);
virtual void setEffectsVolume(float volume);
virtual float getBackgroundMusicVolume();
virtual float getEffectsVolume();
// 미리 로드
virtual void preloadBackgroundMusic(const char* filePath); // 배경음악은 stopBackgroundMusic(bool releaseData = false)에서 제거됨.
virtual void preloadEffect(const char* filePath);
virtual void unloadEffect(const char* filePath); // 효과음은 이렇게 제거
[Cocos2d-x 3 모바일 게임 프로그래밍] 의 내용을 정리.
댓글 없음:
댓글 쓰기