2010-03-01 32 views

回答

1

檢查了這一點:flexlib>圖像映射。

從基於矢量圖形(例如,一個在Illustrator製造)stackOverflow

+0

謝謝!它有幫助 – Atul 2010-03-01 20:56:07

0

使用按鈕外觀兩者,每個狀態保存爲文檔中的命名爲符號,然後導出爲SWF。參考皮膚如下:

.stepButton { 
     upSkin: Embed(source="myfile.swf", symbol="StepButton"); 
     downSkin: Embed(source="myfile.swf", symbol="StepButtonDown"); 
     overSkin: Embed(source="myfile.swf", symbol="StepButtonOver"); 
     disabledSkin: Embed(source="myfile.swf", symbol="StepButtonDisabled"); 
} 

Flash將自動確定從可見部分的命中區域。這個例子(不叫「myfile.swf」)現在在我們的應用程序中工作。

0
  1. 由帆布
  2. 繼承
  3. 創建3種兒童類也從畫布繼承創建ArrowButtonsHolder類。例如LeftArrowButton,MiddleArrowButton,RightArrowButton

    公共類LeftArrowButton:帆布{ 保護覆蓋功能的updateDisplayList(參數unscaledWidth:數字,unscaledHeight屬性:編號):無效 { super.updateDisplayList(參數unscaledWidth,unscaledHeight屬性);

    // draw your arrow here 
        // use graphics to do it 
        graphics.beginFill(0xFF0000); 
        graphics.lineStyle(1, 0x000000); 
        graphics.moveTo(0, 0); 
        graphics.lineTo(30, 0); 
        graphics.lineTo(50, 25); 
        graphics.lineTo(30, 50); 
        graphics.lineTo(0, 50); 
        graphics.lineTo(0, 0); 
        graphics.endFill(); 
    } 
    

    }

    你還可以創建通用類arrowButton之上,並繼承另3從類和重寫繪圖功能

  4. 通過覆蓋createChildren()添加這個3子按鈕對象ArrowButtonsHolder:無效方法

    public class ArrowButtonsHolder:Canvas { 
    
    // ... 
    
    private var leftArrowButton:LeftArrowButton; 
    private var middleArrowButton:MiddleArrowButton; 
    private var rightArrowButton:RightArrowButton; 
    
    // ... 
    
    protected override function createChildren():void { 
        super(); 
    
        // create buttons 
        leftArrowButton = new LeftArrowButton(); 
        middleArrowButton = new LeftArrowButton(); 
        rightArrowButton = new LeftArrowButton(); 
    
        // add them to canvas 
        addChild(leftArrowButton); 
        addChild(middleArrowButton); 
        addChild(rightArrowButton); 
    
        // position these button by adjusting x, y 
        leftArrowButton.x = 0; 
        middleArrowButton.x = 50; 
        rightArrowButton.x = 100; 
    
        // assign event listeners 
        leftArrowButton.addEventListener(MouseEvent.CLICK, onLeftArrowButtonClick); 
        middleArrowButton.addEventListener(MouseEvent.CLICK, onMiddleArrowButtonClick); 
        rightArrowButton.addEventListener(MouseEvent.CLICK, onRightArrowButtonClick); 
    } 
    
    private onLeftArrowButtonClick(event:MouseEvent):void 
    { 
        trace("Left button clicked"); 
    } 
    
    // .. etc for another 2 methods implemented here 
    

    }

PS:在我的代碼中可能會出現大量的語法錯誤,但是您應該總體瞭解如何去做