2012-07-10 1 views
0

Flash CS5에서 이벤트가 발생한 후 두 개의 사운드 파일을 크로스 페이드 (cross-fade)하려고합니다. 첫 번째 사운드는 버튼을 누를 때까지 반올림됩니다. 페이드 아웃은 사운드 2가 동시에 페이드 인하는 것으로 시작합니다. 나는 액션 스크립트 3에 대해 거의 이해하지 못했습니다. 도움을 주셔서 감사합니다.Flash CS5에서 이벤트 후 크로스 페이딩 사운드

답변

0

이 효과를 얻으려면 두 개의 soundChannels를 사용해야합니다. 당신의 사용 CS5 이후로 나는 당신이 그렇게 (그렇지 않은 경우 당신이해야한다)처럼 첫 번째 사운드 파일을 반복하는 가정입니다 : 이벤트가 (버튼 클릭) 볼륨을 감소 할 것이다라고 지금

var sc1:SoundChannel = myFirstSound.play(0, 999); 

첫 번째 사운드 파일의 볼륨을 높이고 두 번째 사운드 파일의 볼륨을 높이십시오. 이렇게하려면 soundTransform 속성을 soundChannels에 사용할 수 있습니다. 이것은 볼륨을 줄이는 예제가됩니다.

sc1.soundTransform = new SoundTransform(sc1.soundTransform.volume - .1, 0); 

Enterframe 루프에서 첫 번째 사운드 파일의 음량을 줄입니다. 이 루프에서 당신은 두 번째 사운드 파일의 볼륨이 증가해야합니다 : 그것은 이상과 같은 것 두 번째 사운드를 높이기 위해를 enterFrame 루프 내에서 다음

var sc2:SoundChannel = mySecondSound.play(0, 999); 
sc2.soundTransform = new SoundTransform(0, 0); 

을 대신 뺄셈의 추가 :

sc2.soundTransform = new SoundTransform(sc2.soundTransform.volume + .1, 0); 

이 경우 .1은 소리가 얼마나 빠르게 퇴색하는 지입니다. 당신은 그걸 가지고 놀아야 만 할 것입니다. 첫 번째 사운드 파일 볼륨이 0이되면 제거하고 루프를 종료해야합니다. 어쨌든, 나는 이것이 귀하의 목표를 완료하기에 충분한 정보라고 생각합니다. 행운을 빕니다.

+0

도움 주셔서 감사합니다. – user1515452

관련 문제