2012-01-06 8 views
0

나는 플래시 타워 방어 게임을 만들고 있습니다. "탑"이라고 불리는 클립이 있습니다. 이 클립에는 모든 타워 유형 (화재, 독, 얼음 등)을 찾을 수 있습니다. 기본적으로 오른쪽 타워를 선택하려면 gotoAndStop("tower type here")을 수행하십시오. 이러한 모든 "타워 유형"도 클립이며이 클립 유형에서는 이러한 타워 유형의 진화를 확인할 수 있습니다 (타워를 업그레이드 할 때마다 모양이 바뀝니다 ... 이것은 진화입니다). 각각의 진화는 클립입니다. 그 클립에는 소리 (타워가 적을 쏠 때 연주해야하는 소리)가 있습니다. 나는 gotoAndPlay("shoot")을한다.플래시 : 소리가 들리지 않을 때 소리가납니다.

stop()가 있어도 소리가 들리지는 않지만 문제가 있습니다. 내가 알아 차 렸던 것이있다. 모든 타워 유형의 첫 번째 진화의 소리를 제거하면 모든 것이 잘 작동하고 맵에 일부 타워를 배치하고 두 번째 진화로 업그레이드하고 사운드를들을 수 있습니다. 나는 다른 것을 알아 차렸다 : 나는 클립에서 "타워", 첫 번째 타워의 소리를 제거하지 않아도됩니다, 마지막 타워와 같은, 그들은 잘 작동합니다. 그리고 그것은 그들이 처음이자 마지막이기 때문에 정말로 있습니다. 예 : 화재는 내 첫 번째 탑, 얼음은 두 번째 탑입니다. 화재는 잘되고 얼음은 그렇지 않습니다. 내가 그들을 교환하면 얼음이 잘 작동하고 화재가 작동하지 않습니다. 첫 번째 탑과 마지막 탑만 작동합니다.

내 클립 계층 구조가 너무 복잡하여 플래시를 사용하기에는 소리가 들리지 않는다고 생각합니다. 또한 그래픽과 사운드를 같은 클립으로 믹싱하고 있는데, 사운드 만 포함 된 클립을 만들어야합니까?

이렇게하면 날 얼굴이 남습니다. 나는 심각하게 무슨 일이 일어나고 있는지 이해하지 못한다. 이것이 명확하지 않은 경우 자세한 내용을 문의하십시오. 고맙습니다.

+0

처럼 플레이보다 너무 복잡해진다 때 가끔 ... – pkyeck

답변

0

당신이 말한 것으로부터, 당신은 직접 MovieClips에 소리를 끌어다 놓는 것입니다. 그건 좋은 생각이 아니에요, 관리하는 것이 고통이되어야합니다.

대신 난 다음 옵션 중 하나 추천 : 1) 타워, 또는 화재 또는 적절한 사운드 파일 재생 어떤 통화 꺼내, 기능, 구축 또는 클릭하면 : 그렇게하지 않으면

function playSound():void { 
    var mySound:Sound = new Sound(); 
    mySound.load(new URLRequest("towerFireSound.mp3")); 
    mySound.play(); 
} 

2) 외부 파일을 사용하려면 라이브러리에 사운드를 가져오고 해당 사운드의 속성에서 "액션 스크립트로 내보내기"를 선택하십시오. 그냥이

function playSound():void { 
    var mySound:Sound = new TowerFireSound(); 
    mySound.play(); 
} 
+0

뒤에 타임 라인을 떠나 클래스 기반 게임 구현을 조사 (그래픽 자산을하고 FLA 라이브러리에서 오는 소리) 고마워요, 지금 작동합니다. 이것은 훨씬 더 편리합니다. –

관련 문제