2008-11-18 20 views

cevap

11

Benim için çalışan bir cevap buldum.

var buttonHBox:HBox = new HBox(); 
var closeButton:Button = new Button(); 
var upButton:Button = new Button(); 
var downButton:Button = new Button(); 

closeButton.setStyle("icon", SimpleWLM.CloseWindowUp); 
buttonHBox.addChild(closeButton); 

upButton.setStyle("icon", SimpleWLM.Up_Up); 
buttonHBox.addChild(upButton); 

downButton.setStyle("icon", SimpleWLM.Down_Up); 
buttonHBox.addChild(downButton); 
0

Sana sahneye ekliyoruz sanıyorum:

hiçbir başarı ile bu çalıştı?

Ayrıca, Embed'inizin yakın bir alıntı/paren eksik olduğunu düşünüyorum.

closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png"); 

olmalıdır:

closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png')"); 
+0

Eksik yakın teklif/paren eklenmesi herhangi bir değişiklik yapmadı. Hala bir çalışma zamanı hatası alıyorum Type Coercion başarısız oldu: "@Embed (source = 'images/closeWindowUp.png')" öğesini Class'a dönüştüremiyor. düğmesiHBox.addChild (closeButton); Bu, sahneye ekleyerek kastettiğiniz şey mi? –

2

hatadır: Benim .mxml dosyasında, ben simgeler için Sınıfları oluşturmak ı kullanacağız: dinamik düğmeleri oluştururken

// Classes for icons 
[Embed(source='images/closeWindowUp.png')] 
public static var CloseWindowUp:Class; 
[Embed(source='/images/Down_Up.png')] 
public static var Down_Up:Class; 
[Embed(source='/images/Up_Up.png')] 
public static var Up_Up:Class; 

benim uygulamanın Actionscript kısmında, ben bu sınıfları kullanmak tırnak içinde, @Embed etrafında hiçbir tırnak olmalıdır:

closeButton.setStyle("icon", @Embed(source="images/closeWindowUp.png")); 
+0

Benim için bu sadece şu hatayı veriyor: '1041: Nitelikler callable değil. Yine de Flex 3 kullanıyorum. – edam

3

Sen düğme simgesinin dinamik değişimin bu bir seçeneği kullanabilirsiniz.

videonun oyun ve duraklama geçiş yapmak için bir düğme kullanma simgeleri

[Embed(source='com/images/play.png')] 
[Bindable] 
public var imagePlay:Class; 

[Embed(source='com/images/pause.png')] 
[Bindable] 
public var imagePause:Class; 

göm

private function playpause():void 
{ 
    if (seesmicVideo.playing) 
    { 
     seesmicVideo.pause(); 
     btn_play.setStyle("icon",imagePlay); 
    } 
    else 
    { 
     seesmicVideo.play(); 
     btn_play.setStyle("icon",imagePause); 
    } 
}   
1

Aşağıdaki kod ile benim düğmesi bir simge kullanmak başardı:

<mx:Button id="buttonPlay" label="Play" click="playButtonClicked();" enabled="false" icon="@Embed('./play.png')"/> 

play.png dosyası mxml dosyasının aynı klasöründedir.

Flash Builder sürüm 4.6 kullanıyorum.

Düzeltme: sorunu, ActionScript ve MXML ile ilgili değildi, ancak bu yanıtı yalnızca referans olarak bırakıyorum.

İlgili konular