2012-06-12 2 views
0

저는 완전히 플래시에 익숙하지 않고 학교 프로젝트로 플래시를 사용하여 완전히 작동하는 웹 페이지를 만들라고했습니다. Photoshop에서 많은 양의 텍스처를 처리하고 올바른 애니메이션을 수행하는 데 성공했습니다. 그러나 모서리에 음소거 버튼이 있고 활성 상태 일 때 두 텍스처 사이를 전환하고 싶었습니다. 내가 겪고있는 문제는 그들이 실제로 어떤 일을하도록하는 것입니다.Adobe CS3 ActionScript 3 버튼 그래픽 변경

내가 말했듯이, 나는 코딩의 문법이나 레이아웃을 전혀 알지 못하고 알고있다. 나는 많은 튜토리얼을 읽었고 항상 "패키지를 중첩 할 수 없습니다"또는 "음소거에 액세스 할 수 없습니다"와 같은 컴파일러 오류가 발생합니다.

현재 "음소거 된"및 "음소거 해제 됨"이라는 두 개의 버튼 레이어가 있습니다. 인내심을 잃어 버리기 때문에 조언이 필요합니다. 나는 지금 막 얻은 모든 것이 작동하지 않고 믿을 수 없을만큼 부정확 한 것처럼 보이기 때문에 현재 여러분에게 줄 코드가 없습니다.

은 말씀 드리지만, 저는

가 제공 될 수있는 모든 도움을 주셔서 감사합니다 액션 3.

의 Adobe Flash CS3를 사용!

답변

0

나는 당신의 문제가 무엇인지는 잘 모르겠지만 이것을 시도하십시오.

  1. 는 텍스처 1, 당신의 단계에 넣고 속성 "을 img1"으로 볼에 이름 만들기 "btnAudio"
  2. 로 속성보기에 당신의 단계에 넣고 이름, 버튼을 만들고 텍스처와 동일 할 이름 "IMG2"
  3. 새로운 레이어를 만들고와 2, "행동"을 호출하고이 코드를 작성 :

    //Listener added to your button. 
    btnAudio.addEventListener(MouseEvent.CLICK, f_muted); 
    
    //Init method to hide your textures. 
    function f_init():void { 
        img1.visible = false;//Texture 1 
        img2.visible = false;//Texture 2 
    } 
    
    // function to switch your textures 
    function f_muted(event:MouseEvent):void{ 
        trace("switch images"); 
        img1.visible = true; 
    } 
    
    f_init();//Hide Textures. 
    

내가이 당신을 도울 수 있기를 바랍니다.

1

"Programatticus Takeoveriticus"(내 팀원과 농담하는 것)처럼 들리는 것이 정말 싫지만 대부분의 플래시 프로그래머가 알고있는 "텍스처"는 아마도 가장 좋은 방법은 아닙니다. 일반적으로 텍스처는 영역을 채우는 데 사용하는 이미지를 나타냅니다.

귀하의 정보를 바탕으로, 귀하의 "질감"은 ... .png 또는 .gif 형식으로 저장된 이미지라고 가정합니다. 라이브러리로 가져 오기만하면됩니다.

저는 CS5.5를 사용하기 때문에 조금 쉬울 수 있지만 CS3에서는 가깝습니다. 이동은 파일로

-> 가져 오기 -> 가져 오기

... 도서관에하는 것은 당신이하고 "가져 오기"를 사용하려는 이미지를 선택합니다. 일반적으로 화면 오른쪽에있는 라이브러리 패널에 나타납니다 (레이아웃에 따라 다른 위치에있을 수 있습니다. 문제가있는 경우 창 메뉴를 사용하여 찾으십시오).

이제, 삽입 -> 새 기호로 이동하십시오 ...

기호에 이름을 지정하십시오. 심볼 이름의 모범 사례는 영숫자와 밑줄 만 사용하는 것입니다 (공백이나 다른 구두점 없음).

이제 유형을 선택하십시오. 나는 이것을 위해 MovieClip을 추천한다.

그 밖의 모든 것을 그대로두고 "확인"을 누르십시오. 스테이지가 해당 MovieClip 편집으로 전환됩니다.

타임 라인을 확인하십시오. 이건 중요하다. 타임 라인에서 첫 번째 프레임을 클릭 한 다음 라이브러리에서 음소거 해제 된 이미지에 사용할 이미지를 스테이지로 드래그합니다. 자유 변형 도구를 사용하여 원하는 크기로 조정하십시오.

방금 ​​놓은 이미지를 클릭하십시오. 특성 창으로 이동하여 위치를 0 왼쪽, 0 위로 설정하십시오.

이제 타임 라인에서 두 번째 프레임을 클릭하십시오. 이미지를 위의 단계를 반복하여 음소거합니다. 이 두 번째 이미지의 크기가 첫 번째 이미지의 크기와 정확히 같아야합니다.

두 이미지를 타임 라인에 배치 한 후 해당 프레임에서 첫 번째 프레임을 클릭하십시오. 작업 탭으로 이동하여 프레임을 마우스 오른쪽 단추로 클릭하고 동작을 클릭합니다.

다음 진술을 입력하십시오.

stop(); 

두 번째 프레임에서이를 반복하십시오.

stop(); 성명서는 단순히 Flash가 Flash Player가 코드에 의해 달리 지시 할 때까지 해당 프레임에 머물러있게합니다.

이제 상단에서 파란색 '뒤로'버튼을 클릭하여 기본 단계로 돌아갑니다. 방금 만든 객체가 무대에 앉아있을 것입니다. (그렇지 않은 경우 라이브러리에서 스테이지로 드래그하십시오.) 원하는 곳에이 오브젝트를 놓고 필요에 따라 크기를 조절하십시오.

개체를 클릭하여 선택하고 속성 창으로 이동하십시오. 맨 위에 ""(이)라고 말한 곳에 해당 객체 인스턴스의 실제 이름을 입력하십시오. 이 단계에서 한 번만 사용했다면 라이브러리에있는 것과 동일한 이름을 지정하십시오 (이전 이름은 무엇이든).이 예제에서는 "btnMute"라고 할 것입니다.

지금, 당신은 모든 코드를 가지고있는 영역에 다음과 같은 입력 할 수 있습니다 : 그 코드의

//Here we create a boolean (true/false) variable for whether sound is muted. 
var muted:Boolean = false; 

//Create the event listener for when the mute button is clicked. 
btnMute.addEventListener(MouseEvent.CLICK, muteSound); 

//Here is the event handler for the above listener. 
function muteSound(evt:MouseEvent):void 
{ 
    //If muted is true... 
    if(muted) 
    { 
     //Set muted to false 
     muted = false; 
     //Change button to "unmuted" state. 
     btnMute.gotoAndStop(1); 
    } 
    //If muted is false... 
    else 
    { 
     //Set muted to true 
     muted = true; 
     //Change button to "muted" state. 
     btnMute.gotoAndStop(2); 
    } 
} 

많은 익숙 할 것이다. 내가 지적하고자하는 중요한 점은 라인 btnMute.gotoAndStop(...)입니다. 특정 MovieClip에 표시되는 프레임을 변경할 수 있습니다. 성명의 "..."을 가고자하는 프레임 번호로 바꾸십시오.

또는 코드 btnMute.gotoAndPlay(...);을 사용할 수 있습니다. 각 프레임에 stop(); 코드가 있으므로 동일한 작업이 수행됩니다.

gotoAndStop(...);gotoAndPlay(...); 주요 차이점은 "AndPlay"하는 반면 상기 "AndStop"은 프레임의 모든 코드를 실행하지 않으며,이 stop(); 기능의 부재에 후 프레임을 재생한다는 것이다.

도움이되기를 바랍니다. 다시 말하지만, 다른 방법을 추천 해 드려 죄송합니다. 사람들이 저에게 그것을 할 때 내 애완 동물이라고 생각합니다. 그러나 대부분의 경우이 방법은 같은 것을하기 위해 다른 항목을 숨기고 표시하는 것보다 훨씬 효과적이라는 것을 알 수 있습니다.

관련 문제