2010-03-01 33 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:在我的代码中可能会出现大量的语法错误,但是您应该总体了解如何去做