2013-02-22 3 views
1

Я пробовал этот код, он не работал, я хочу, чтобы кнопка воспроизводила звук при нажатии.Звуковая кнопка не работает? COCOS2D

-(void)starButtonsound:(id)sender 
{ 
    [[SimpleAudioEngine sharedEngine] playEffect:@"fire_truck_1.wav"]; 
} 

В INIT

starMenuItemsound = [CCMenuItemImage 
        itemWithNormalImage:@"play.png" selectedImage:@"play.png" 
        target:self selector:@selector(starButtonsound:)]; 
starMenuItemsound.position = ccp(525, 500); 
[self addChild:starMenuItemsound z: 4]; 
starMenuItemsound.scale = 0.75; 

Что не так?

+0

нужна дополнительная информация. что именно он делает неправильно? – Almo

+0

Вы могли бы показать журналы с консоли? –

+0

выглядит как тег для cocosDenshion отсутствует на SO –

ответ

0

в INIT

{ 
    // Using SpriteSheet ? Use spriteWithSpriteFrameName in place of spriteWithFile 
     CCSprite *spriteNormal = [CCSprite spriteWithFile:@"play.png"]; 
     CCSprite *spriteSelected = [CCSprite spriteWithFile:@"play.png"]; 
     ccColor3B color = {128,128,128}; 
     spriteSelected.color = color; 

     starMenuItemsound = [CCMenuItemImage 
         itemWithNormalSprite: spriteNormal selectedImage: spriteSelected 
         target:self selector:@selector(starButtonsound:)]; 
     starMenuItemsound.position = ccp(525, 500); 
     starMenuItemsound.scale = 0.75; 

     CCMenu *menu = [CCMenu menuWithItems: starMenuItemsound, nil]; 
     menu.position = ccp(0.0f,0.0f); 
     [self addChild: menu z:4]; 
    } 

Вызов функции:

-(void) starButtonsound:(id)sender 
{ 
    [[SimpleAudioEngine sharedEngine] setEffectsVolume:1.0f]; //Do this in init method 
    [[SimpleAudioEngine sharedEngine] playEffect:@"fire_truck_1.wav"]; 
} 
0

A) Set a breakpoint - необходимое знание для любого программиста.

B) Селектор CCMenuItemImage не принимает аргумента. Удалите двоеточие из @selector(startButtonSound) и изменить метод для этого:

-(void)starButtonsound 
{ 
    [[SimpleAudioEngine sharedEngine] playEffect:@"fire_truck_1.wav"]; 
} 
+0

Это не похоже, чтобы сделать разницу .. - (Недействительными) starButtonsound { [[SimpleAudioEngine sharedEngine] playEffect: @ "fire_truck_1.wav"]; } starMenuItemsound = [CCMenuItemImage itemWithNormalImage: @ "play.png" selectedImage: @ "play.png" цель: селектор самостоятельно: @selector (starButtonsound)]; starMenuItemsound.position = ccp (525, 500); // CCMenu * starMenusound = [CCMenu menuWithItems: starMenuItem, nil]; [self addChild: starMenuItemsound z: 4]; starMenuItemsound.scale = 0,75; Я смущен .. – user2083920

0

Некоторые сообщили, что это решение: поворот выключить звук и снова (не шутка)

[SimpleAudioEngine sharedEngine].muted = YES; 
[SimpleAudioEngine sharedEngine].muted = NO; 
Смежные вопросы