'내가찍은사진 > 디카사진들' 카테고리의 다른 글
호루스벤누 35mm 테스트 샷 (2) | 2011.03.09 |
---|---|
SBS 미라클 아트전 (0) | 2011.03.02 |
AKAI LPD8 (0) | 2011.03.01 |
로또 (0) | 2011.02.27 |
짱어 (0) | 2011.02.27 |
우리집 설 풍경 (0) | 2011.02.27 |
호루스벤누 35mm 테스트 샷 (2) | 2011.03.09 |
---|---|
SBS 미라클 아트전 (0) | 2011.03.02 |
AKAI LPD8 (0) | 2011.03.01 |
로또 (0) | 2011.02.27 |
짱어 (0) | 2011.02.27 |
우리집 설 풍경 (0) | 2011.02.27 |
SBS 미라클 아트전 (0) | 2011.03.02 |
---|---|
AKAI LPD8 (0) | 2011.03.01 |
발렌타인 데이 (0) | 2011.02.28 |
짱어 (0) | 2011.02.27 |
우리집 설 풍경 (0) | 2011.02.27 |
오랜 친구들의 저녁식사 (0) | 2011.02.27 |
발렌타인 데이 (0) | 2011.02.28 |
---|---|
로또 (0) | 2011.02.27 |
짱어 (0) | 2011.02.27 |
오랜 친구들의 저녁식사 (0) | 2011.02.27 |
생일선물 (0) | 2011.02.01 |
내 생일 @2011.1.22 (2) | 2011.01.23 |
SimpleAudioEngine *soundEngine_;
//-- 이 아래에는 AVAudioPlayer를 위한 멤바들.
BOOL isAVAudioPlayer; //한번이라도 AVAudioPlayer를 이용하여 배경음을 재생하면 셋팅된다.
//차선책으로 쓰는 AVAudioPlayer
AVAudioPlayer *bgmPlayer;
CGFloat fadeAmt; //Fadeout시 감소값.
CGFloat fadeDesc; //Fadein시 목표값.
-(SimpleAudioEngine *) soundEngine
isAVAudioPlayer = NO;
fadeAmt = 0;
if (self.bgmPlayer != nil) {
[self stopBGMwithAudioPlayer];
}
//배경음 재생을 시작한다.
-(void)playBGMwithAudioPlayer:(NSString*)filename ext:(NSString*)ext volume:(CGFloat)vol{
if (self.isSoundOn) {
[self stopBGMwithAudioPlayer];
if(self.bgmPlayer == nil){
self.bgmPlayer = [self createAudioPlayer:filename ext:ext volume:vol];
//-1은 무한반복
self.bgmPlayer.numberOfLoops = -1;
}
[self.bgmPlayer play];
}
}
-(void)stopBGMwithAudioPlayer{
if (self.isSoundOn && self.bgmPlayer != nil) {
NSLog(@"AVAudioPlayer 스탑!");
[self.bgmPlayer stop];
// self.bgmPlayer.currentTime = 0; //rewind
self.bgmPlayer = nil;
}
}
//오디오 플레이어를 만든다.
-(AVAudioPlayer*)createAudioPlayer:(NSString*)filename ext:(NSString*)ext volume:(CGFloat)vol{
NSString *audioPath = [[NSBundle mainBundle]pathForResource:filename ofType:ext];
NSLog(@"새로운 AVAudioPlayer 생성 %@.%@ (%f%%)",filename,ext,vol);
AVAudioPlayer *tmpAudioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:audioPath] error:nil];
tmpAudioPlayer.numberOfLoops = 0;
tmpAudioPlayer.volume = vol;
//소리를 위해 버퍼에 로딩
[tmpAudioPlayer prepareToPlay];
isAVAudioPlayer = YES;
[tmpAudioPlayer autorelease];
return tmpAudioPlayer;
}
//음악을 서서히 죽여준다.
-(void)fadeoutBGMwithAudioPlayer{
if (self.bgmPlayer!=nil && self.bgmPlayer.volume > 0.01f) {
//2초정도 소리를 줄여주기 위하여
if (fadeAmt == 0) fadeAmt = self.bgmPlayer.volume/20;
self.bgmPlayer.volume = self.bgmPlayer.volume - fadeAmt;
[self performSelector:@selector(fadeoutBGMwithAudioPlayer) withObject:nil afterDelay:0.1f];
} else {
NSLog(@"fadeOut finish");
fadeAmt = 0;
[self stopBGMwithAudioPlayer];
}
}
//음악을 서서히 살려준다.
-(void)fadeinBGMwithAudioPlayer{
//NSLog(@"fadeIn %f amount %f desc %f",self.bgmPlayer.volume,fadeAmt,fadeDesc);
if (self.bgmPlayer!=nil && self.bgmPlayer.volume <= fadeDesc) {
//2초정도 소리를 줄여주기 위하여
if (fadeAmt == 0) fadeAmt = fadeDesc/20;
self.bgmPlayer.volume = self.bgmPlayer.volume + fadeAmt;
[self performSelector:@selector(fadeinBGMwithAudioPlayer) withObject:nil afterDelay:0.1f];
} else {
NSLog(@"fadeIn finish");
fadeAmt = 0;
}
}
//BGM재생.
-(void) playBGM:(NSString*)filename ext:(NSString*)ext volume:(CGFloat)vol{
if (self.isSoundOn){
//soundEngine
if (!isAVAudioPlayer && [self soundEngine] != nil) {
NSLog(@"soundEngine 으로 배경음 재생 시도.");
[self soundEngine].backgroundMusicVolume = vol;
[[self soundEngine] playBackgroundMusic:[[NSBundle mainBundle] pathForResource:filename ofType:ext] loop:YES];
}
NSLog(@"soundEngine : isBackgroundMusicPlaying (%d), isAVAudioPlayer(%d)",[[self soundEngine] isBackgroundMusicPlaying],isAVAudioPlayer);
if (isAVAudioPlayer || [self soundEngine] == nil || ([self soundEngine] != nil && ![[self soundEngine] isBackgroundMusicPlaying])) {
//AudioPlayer
NSLog(@"soundEngine 으로 배경음 재생 실패하여 AVAudioPlayer 로 시도.");
[self playBGMwithAudioPlayer:filename ext:ext volume:vol];
}
}
}
-(void) fadeinBGM:(NSString*)filename ext:(NSString*)ext volume:(CGFloat)vol{
if (self.isSoundOn){
//soundEngine
if (!isAVAudioPlayer && [self soundEngine] != nil) {
NSLog(@"soundEngine 으로 배경음 페이드 인 재생 시도.");
[self soundEngine].backgroundMusicVolume = 0;
[[self soundEngine] playBackgroundMusic:[[NSBundle mainBundle] pathForResource:filename ofType:ext] loop:YES];
[CDXPropertyModifierAction fadeBackgroundMusic:2.0f finalVolume:vol curveType:kIT_SCurve shouldStop:NO];
}
if (isAVAudioPlayer || [self soundEngine] == nil || ([self soundEngine] != nil && ![[self soundEngine] isBackgroundMusicPlaying])) {
//AudioPlayer
NSLog(@"soundEngine 으로 배경음 재생 실패하여 AVAudioPlayer 로 페이드 인 재생 시도.");
fadeDesc = vol;
[self playBGMwithAudioPlayer:filename ext:ext volume:0];
[self fadeinBGMwithAudioPlayer];
}
}
}
-(void) stopBGM{
if (self.isSoundOn){
if (isAVAudioPlayer) {
[self stopBGMwithAudioPlayer];
} else {
if ([self soundEngine] != nil){
[[self soundEngine] stopBackgroundMusic];
}
}
}
}
-(void) fadeoutBGM {
if (self.isSoundOn) {
if (isAVAudioPlayer) {
[self fadeoutBGMwithAudioPlayer];
} else {
if ([self soundEngine] != nil){
//2초 페이드 아웃.
[CDXPropertyModifierAction fadeBackgroundMusic:2.0f finalVolume:0.0f curveType:kIT_SCurve shouldStop:YES];
}
}
}
}
[iOS App] D-Day 관리 앱 - Day : 예쁘고 간편한 디데이 알리미 (69) | 2011.12.15 |
---|---|
[iOS App] 일정관리(Events List) APP 이 드디어 iTunes Store 에 출시! (26) | 2011.10.14 |
[iOS] GameCenter 를 내 어플에 붙여보자! (+ GameCenter Notification) (30) | 2011.04.19 |
[objC] 상위클래스에서 선언한 변수를 상속받은 클래스에서 undeclared 나는 경우.. (0) | 2011.02.11 |
[cocos2d] 게임 개발 시작 (0) | 2011.01.31 |
[iOS] iOS (iPhone,iPod touch) 의 MKMapView 정리하기 (47) | 2010.11.18 |
// SuperScene.h
...
@interface SuperScene : CCScene {
CGSize winSize; //윈도우 사이즈
}
...
@interface BattleScene : SuperScene {
}
@property (nonatomic, retain) CCSprite* currentWeaponMark;
@synthesize currentWeaponMark;
@interface BattleScene : SuperScene {
CCSprite* currentWeaponMark;
}
@property (nonatomic, retain) CCSprite* currentWeaponMark;
@synthesize currentWeaponMark;
[iOS App] 일정관리(Events List) APP 이 드디어 iTunes Store 에 출시! (26) | 2011.10.14 |
---|---|
[iOS] GameCenter 를 내 어플에 붙여보자! (+ GameCenter Notification) (30) | 2011.04.19 |
[cocos2d] 럴쑤럴쑤 이럴쑤! cocosDenshion 의 CDAudioManager 는 iPhone 4 에서 BGM재생이 되질 않는다?! (0) | 2011.02.14 |
[cocos2d] 게임 개발 시작 (0) | 2011.01.31 |
[iOS] iOS (iPhone,iPod touch) 의 MKMapView 정리하기 (47) | 2010.11.18 |
[iOS] UIAlertView 를 모달(modal) 창 처럼, 버튼 누르기전까지 대기하기 (18) | 2010.10.01 |
짱어 (0) | 2011.02.27 |
---|---|
우리집 설 풍경 (0) | 2011.02.27 |
오랜 친구들의 저녁식사 (0) | 2011.02.27 |
내 생일 @2011.1.22 (2) | 2011.01.23 |
MT (0) | 2011.01.23 |
눈오던 날 (0) | 2011.01.23 |