2012-05-21 5 views
1

일부 입력이 필요합니다. Flash Builder에서 사용자 정의 버튼을 구현하는 가장 좋은 방법은 무엇입니까?Flex AS3 - 사용자 정의 버튼

커스텀 버튼이 무슨 의미인지는, 예를 들어 5 층으로 된 건물을 (3D보기에서) 보여줄 필요가 있다는 것입니다. 사용자는 각 층을 클릭하여 메인 뷰를 업데이트하여 현재 선택된 층을 표시 할 수 있습니다.

이전 예제에서는 이미지 아래에 하나의 보이지 않는 레이어를 추가했습니다. 여기에는 각 버튼 (각 층)마다 단색이 하나씩 있습니다. 이미지를 클릭하면 선택한 색상을 확인한 다음 원하는 작업을 트리거하는 기능이 트리거됩니다.

더 좋은 방법이 있습니까?

메인 앱과 통신하는 외부 SWF를 가져와 바닥 전환 명령을 보낼 수 있습니까? (내가 가져온 외부 SWF에서 기본 앱으로 통신하는 방법을 알고있는 것은 아니며 다른 방향으로 만 전달됩니다.)

모든 입력이 좋은 것 =)

감사합니다!

답변

3

편집

는 질문 후, 나는 버튼이 어떤 모양이 될 수 있다는 것을 보여주기 위해 빨리 뭔가를 채찍질. 당신이 바닥이 선택되고 싶은 경우에, 당신은 아마 ToggleButton,하지를 원하는 Button 그래서 나는 조금 그 결과 당신이 설명 것입니다 내 예를 다시 일한

enter image description here

을 사용하지 왜 Flex 4.0 스키닝 기능? 당신은 행동을 얻을 수 (및 상태) 자신의 모습/느낌의 버튼 구성 요소의 :

<s:ToggleButton skinClass="FloorButton" y="0" /> 
<s:ToggleButton skinClass="FloorButton" y="25" /> 
<s:ToggleButton skinClass="FloorButton" y="50" /> 

당신은 일부 이미지와 버튼 피부 (FloorButton) 정의 : 물론

<?xml version="1.0" encoding="utf-8"?> 
<s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009" 
        alpha.disabledStates="0.5"> 

    <fx:Metadata> 
    <![CDATA[ 
     [HostComponent("spark.components.ToggleButton")] 
    ]]> 
    </fx:Metadata> 

    <s:states> 
     <s:State name="up" /> 
     <s:State name="over" stateGroups="overStates" /> 
     <s:State name="down" stateGroups="downStates" /> 
     <s:State name="disabled" stateGroups="disabledStates" /> 
     <s:State name="upAndSelected" stateGroups="selectedStates, selectedUpStates" /> 
     <s:State name="overAndSelected" stateGroups="overStates, selectedStates" /> 
     <s:State name="downAndSelected" stateGroups="downStates, selectedStates" /> 
     <s:State name="disabledAndSelected" stateGroups="selectedUpStates, disabledStates, selectedStates" /> 
    </s:states> 

    <s:Path data="M 0 0 L 20 20 L 40 0 L 40 20 L 20 40 L 0 20"> 
     <s:fill> 
      <s:SolidColor color="#AAAAAA" color.selectedStates="#000000" color.over="#777777" /> 
     </s:fill> 
    </s:Path> 

</s:SparkButtonSkin> 

을, 경로 유사한 효과를 얻기 위해 투명도가있는 PNG로 대체 될 수 있습니다.

+0

답변 해 주셔서 감사합니다. "비 정사각형"버튼을 만들 수 있습니까? 예를 들어 3D 측면에서 본 5 층을 사용해야합니다. 그리고 이들 중 하나를 클릭하는 기능. –

+0

예. 원하는 모양으로 단추를 만들 수 있습니다. –

+0

이렇게하면됩니다. 각 층은 BG가 변경되도록하는 버튼입니다. 코드를 살펴 보겠습니다.) http://i48.tinypic.com/vytc92.jpg –

0

플렉스로 작업 할 때 플렉스 성분을 사용하고 피부를 감싸는 것이 어떻습니까?

0

This Flex 4에서 버튼 스키닝을 수행하는 방법에 대한 자습서는 단계별로 진행됩니다.

Flex 4는 또한 쉽게 구현할 수 있습니다 3d effects (질문에서 언급 한).

+0

나는 그것이 지금 사용하고있는 v4라고 생각한다.) 기사를 읽을 것이다! 감사합니다. –

+0

게시 한 자습서를 따랐지만 방문 영역은 항상 사각형입니다. 서로 3-6 개의 버튼을 겹쳐 쌓을 필요가 있습니다 (각각은 건물의 1 층처럼 보입니다). 어떤 아이디어? 위의 게시물을 다시 살펴보고 내가 놓친 것이 있는지 살펴 보겠습니다. –

+0

Brian Genisio의 업데이트 된 답변에 추가 할 수 있다고 생각하지 않습니다. 그것은 훌륭하고 당신이 원하는 모양을 만드는 데 도움이됩니다. –