2010-02-09 5 views
2

Salut, j'essaie de créer un bouton dans ActionScript 3 qui sera fait par une image personnalisée (un car.jpg de mon disque dur). Est-il possible de le faire avec la classe SimpleButton (je veux dire est-il un moyen de charger l'image et l'attacher au bouton?) Ou existe-t-il un autre moyen? Si je voudrais avoir une animation aussi dans le bouton quand disons que je passe sur le pointeur de la souris à partir du bouton, que dois-je faire? Ps: je voudrais utiliser seulement ActionScript 3 (je veux dire tout le projet est fait comme un fichier .as qui est lié à la classe Document).Bouton personnalisé avec l'image

+0

n'importe quelle forme/bitmap vous transformez en un MovieClip par exemple, vous pouvez ajouter un écouteur d'événement pour le clic, et c'est ça ... il se comporte comme un bouton. Ne vous inquiétez pas pour SimpleButton à ce stade. –

Répondre

3

Bien que George Profenza déjà fait la meilleure solution dans le commentaire se sentir curieux de savoir comment vous pourriez mettre en œuvre la classe SimpleButton vous voudrez peut-être jeter un coup d'oeil dans les exemples de référence e document AS3:

adobe livedocs - SimpleButton Example

Je a également écrit un exemple simple qui ne fait qu'un "bouton simple" dans un "bouton compliqué" mais qui utilise la classe SimpleButton, ainsi vous pouvez voir comment vous pouvez étendre la classe, et donner à chaque état son propre graphique. Voici le code:

// this goes in your app 
var button:MySimpleButton = new MySimpleButton(); 
addChild(button); 

MySimpleButton.as

package 
{ 
    import flash.display.DisplayObject; 
    import flash.display.SimpleButton; 
    import flash.display.Sprite; 

    public class MySimpleButton extends SimpleButton 
    { 
     private var upAlpha : Number = 1; 
     private var overAlpha : Number = 0.5; 

     public function MySimpleButton(upState : DisplayObject = null, overState : DisplayObject = null, downState : DisplayObject = null, hitTestState : DisplayObject = null) 
     { 
      upState = new ButtonImgDisplayState(upAlpha); 
      overState = new ButtonImgDisplayState(overAlpha); 
      downState = new ButtonImgDisplayState(upAlpha); 
      hitTestState = new ButtonImgDisplayState(upAlpha); 

      super(upState, overState, downState, hitTestState); 
     } 
    } 
} 

ButtonImgDisplayState.as

package 
{ 
    import flash.display.Loader; 
    import flash.display.Sprite; 
    import flash.net.URLRequest; 

    public class ButtonImgDisplayState extends Sprite 
    { 

     public function ButtonImgDisplayState(_alpha:Number) 
     { 
      var my_loader : Loader = new Loader(); 
      my_loader.load(new URLRequest("car.jpg")); 
      addChild(my_loader); 

      this.alpha = _alpha; 
     } 
    } 
} 

La chose au sujet de la SimpleButton est de vous épargner pour définir les auditeurs, mais vous êtes obligés de contourner les états qui sont séparés DisplayObjects vous rendant un bouton plus rigide lorsqu'il s'agit de transitions entre les états.

J'espère que vous trouverez cela utile.

+1

Le lien docs SimpleButton est rompu. ... corrigé mais vérifiez si c'est ce que vous vouliez. – IAbstract

+0

@IAbstract oui, c'est correct. Merci –

Questions connexes