Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FULLSCROLLBAR: AS3 SCROLLBAR CLASS


Information sur la source

Catégorie :ActionScripts Classé sous : scrollbar, class, as3, actionscript, mousewheel Niveau : Initié Date de création : 01/09/2008 Date de mise à jour : 01/09/2008 04:27:03 Vu / téléchargé: 6 957 / 882

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
FullScrollbar est une classe de Scrollbar en ActionScript 3.0.

Destinée aux clips ayant un contenu verticalement étendu.

Aperçu ici:
http://www.helioflash.com/FullScrollbar

Seulement 4 paramètres :
- un clip cible
- marge supérieure par rapport aux limites de la Scène
- marge inférieure par rapport aux limites de la Scène
- position sur l'axe horizontal

La classe s'occupe du reste !

Et notamment des événements suivants:
- ROLL_OUT
- MOUSE_DOWN
- MOUSE_UP
- MOUSE_MOVE
- MOUSE_LEAVE
- MOUSE_WHEEL
- RESIZE

L'aperçu génère une erreur en local car il tente de communiquer avec la classe JavaScript "MacMouseWheel" (©Gabriel Bucknall) qui permet le scroll sous Mac OS X.
 

Source

  • package
  • {
  • /*
  • /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • ______ _________ ______
  • / ____/_ __/ / / ___/______________ / / / /_ ____ ______
  • / /_ / / / / / /\__ \/ ___/ ___/ __ \/ / / __ \/ __ `/ ___/
  • / __/ / /_/ / / /___/ / /__/ / / /_/ / / / /_/ / /_/ / /
  • /_/ \__,_/_/_//____/\___/_/ \____/_/_/_.___/\__,_/_/
  • */
  • import flash.display.Sprite;
  • import flash.events.Event;
  • import flash.events.MouseEvent;
  • import flash.geom.Rectangle;
  • import flash.geom.Matrix;
  • import flash.display.GradientType;
  • import flash.display.SpreadMethod;
  • public class FullScrollbar extends Sprite
  • {
  • public var marginTop:int = 20;
  • public var marginBottom:int = 20;
  • public var targetHeight:int;
  • public var target:Sprite;
  • private var SCRB_BACKGROUND:Sprite;
  • private var SCRB_HANDLER:Sprite;
  • private var SCRB_status:Boolean = false;
  • private var SCRB_scrollY:int = 0;
  • private var SCRB_handlerY:int = 0;
  • private var SCRB_maxHeight:int;
  • public function KillerScrollbar()
  • {
  • trace("FullScrollbar: Hello!");
  • };
  • public function resize()
  • {
  • SCRB_handlerY = SCRB_HANDLER.y;
  • SCRB_scrollY = 0;
  • render(0);
  • };
  • /*
  • /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • _ _ __
  • (_)___ (_) /_
  • / / __ \/ / __/
  • / / / / / / /_
  • /_/_/ /_/_/\__/
  • */
  • public function init():void
  • {
  • var matr:Matrix = new Matrix();
  • matr.createGradientBox(20, 1, 0, 0, 0);
  • SCRB_BACKGROUND = new Sprite();
  • SCRB_BACKGROUND.graphics.beginGradientFill(GradientType.LINEAR, [0x999999, 0xBBBBBB], [1, 1], [0x00, 0xFF], matr, SpreadMethod.PAD);
  • SCRB_BACKGROUND.graphics.drawRoundRect(0, 0, 20, 100, 20, 20);
  • SCRB_BACKGROUND.graphics.endFill();
  • var grid1:Rectangle = new Rectangle(1, 20, 18, 60);
  • SCRB_BACKGROUND.scale9Grid = grid1;
  • addChild(SCRB_BACKGROUND);
  • SCRB_HANDLER = new Sprite();
  • SCRB_HANDLER.graphics.beginGradientFill(GradientType.LINEAR, [0x444444, 0x000000], [1, 1], [0x00, 0xFF], matr, SpreadMethod.PAD);
  • SCRB_HANDLER.graphics.drawRoundRect(0, 0, 20, 50, 20, 20);
  • SCRB_HANDLER.graphics.endFill();
  • var grid2:Rectangle = new Rectangle(1, 20, 18, 10);
  • SCRB_HANDLER.scale9Grid = grid2;
  • addChild(SCRB_HANDLER);
  • SCRB_HANDLER.addEventListener( MouseEvent.MOUSE_DOWN, EVT_HANDLER_mouseDown );
  • SCRB_HANDLER.addEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp );
  • this.stage.addEventListener( MouseEvent.MOUSE_WHEEL, EVT_STAGE_mouseWheel );
  • this.stage.addEventListener( Event.MOUSE_LEAVE, EVT_STAGE_mouseLeave );
  • this.stage.addEventListener( Event.RESIZE, EVT_STAGE_resize );
  • trace("FullScrollbar: Ready");
  • resize();
  • };
  • /*
  • /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • __ __
  • _____/ /_____ _____ ____ ___ _ _____ ____ / /______
  • / ___/ __/ __ `/ __ `/ _ \ / _ \ | / / _ \/ __ \/ __/ ___/
  • (__ ) /_/ /_/ / /_/ / __/ / __/ |/ / __/ / / / /_(__ )
  • /____/\__/\__,_/\__, /\___/ \___/|___/\___/_/ /_/\__/____/
  • /____/
  • */
  • public function EVT_STAGE_mouseWheel( e:MouseEvent ):void
  • {
  • SCRB_handlerY = SCRB_HANDLER.y;
  • SCRB_scrollY = 0;
  • var eDelta = int(e.delta);
  • if( eDelta != -1 ) if( eDelta != 0 ) if( eDelta != 1 ) render( eDelta * (-6) );
  • };
  • public function EVT_STAGE_mouseMove( e:MouseEvent ):void
  • {
  • render(e.stageY);
  • };
  • public function EVT_STAGE_releaseOutside( e:MouseEvent ):void
  • {
  • SCRB_status = false;
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside );
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
  • };
  • public function EVT_STAGE_mouseLeave( e:Event ):void
  • {
  • if( SCRB_status )
  • {
  • SCRB_status = false;
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside );
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
  • }
  • };
  • public function EVT_STAGE_resize( e:Event ):void
  • {
  • resize();
  • };
  • /*
  • /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • __ ____ __
  • / /_ ____ _____ ____/ / /__ _____ ___ _ _____ ____ / /______
  • / __ \/ __ `/ __ \/ __ / / _ \/ ___/ / _ \ | / / _ \/ __ \/ __/ ___/
  • / / / / /_/ / / / / /_/ / / __/ / / __/ |/ / __/ / / / /_(__ )
  • /_/ /_/\__,_/_/ /_/\__,_/_/\___/_/ \___/|___/\___/_/ /_/\__/____/
  • */
  • public function EVT_HANDLER_mouseDown( e:MouseEvent ):void {
  • SCRB_handlerY = SCRB_HANDLER.y;
  • SCRB_scrollY = e.stageY;
  • SCRB_HANDLER.addEventListener( MouseEvent.ROLL_OUT, EVT_HANDLER_rollOut, false, 0, true );
  • e.target.stage.addEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove, false, 0, true );
  • e.target.stage.addEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp, false, 0, true );
  • SCRB_status = true;
  • };
  • public function EVT_HANDLER_mouseMove( e:MouseEvent ):void
  • {
  • if( SCRB_status ) render( e.stageY );
  • };
  • public function EVT_HANDLER_rollOut( e:MouseEvent ):void
  • {
  • if( e.buttonDown ){
  • e.target.stage.addEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside, false, 0, true );
  • }
  • e.target.removeEventListener( MouseEvent.ROLL_OUT, EVT_HANDLER_rollOut );
  • };
  • public function EVT_HANDLER_mouseUp( e:MouseEvent ):void
  • {
  • SCRB_status = false;
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
  • e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp );
  • };
  • /*
  • /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • __
  • ________ ____ ____/ /__ _____
  • / ___/ _ \/ __ \/ __ / _ \/ ___/
  • / / / __/ / / / /_/ / __/ /
  • /_/ \___/_/ /_/\__,_/\___/_/
  • */
  • public function render( Y:int ):void
  • {
  • targetHeight = target.height;
  • SCRB_maxHeight = stage.stageHeight - marginTop - marginBottom;
  • this.y = marginTop;
  • var backgroundHeight:int = SCRB_maxHeight;
  • if(backgroundHeight<40) backgroundHeight = 40;
  • SCRB_BACKGROUND.height = backgroundHeight;
  • if(target != null)
  • {
  • if( targetHeight > SCRB_maxHeight )
  • {
  • SCRB_HANDLER.visible = true;
  • SCRB_BACKGROUND.alpha = 1;
  • var yTarget:int;
  • var delta:int = Y - SCRB_scrollY;
  • var handlerHeight:int = Math.floor( ( backgroundHeight * SCRB_maxHeight / targetHeight) / 1 );
  • if( handlerHeight < 30) handlerHeight = 30;
  • SCRB_HANDLER.height = handlerHeight;
  • if( delta <= -SCRB_handlerY ) delta = -SCRB_handlerY;
  • if( delta > backgroundHeight - handlerHeight - SCRB_handlerY ) delta = Math.floor( backgroundHeight - handlerHeight - SCRB_handlerY );
  • var SCRB_handlerNewY:int = SCRB_handlerY + delta;
  • SCRB_HANDLER.y = SCRB_handlerNewY;
  • yTarget = Math.floor( marginTop - ( ( SCRB_handlerNewY * ( targetHeight - SCRB_maxHeight ) / ( backgroundHeight - handlerHeight ) ) ) );
  • target.y = yTarget;
  • trace( "FullScrollbar: "+String( Math.floor(SCRB_handlerNewY * 100 / ( backgroundHeight - handlerHeight ) ) )+"%" );
  • }
  • else
  • {
  • SCRB_HANDLER.y = 0;
  • SCRB_scrollY = 0;
  • target.y = marginTop;
  • SCRB_HANDLER.visible = false;
  • SCRB_BACKGROUND.alpha = .2;
  • }
  • }
  • };
  • }
  • }
package
{
	
	
/*
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ______      _________                 ______              
   / ____/_  __/ / / ___/______________  / / / /_  ____ ______
  / /_  / / / / / /\__ \/ ___/ ___/ __ \/ / / __ \/ __ `/ ___/
 / __/ / /_/ / / /___/ / /__/ /  / /_/ / / / /_/ / /_/ / /    
/_/    \__,_/_/_//____/\___/_/   \____/_/_/_.___/\__,_/_/     

*/


	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	import flash.geom.Matrix;
	import flash.display.GradientType;
	import flash.display.SpreadMethod;
	
	
	public class FullScrollbar extends Sprite
	{
		
		
		
		public var marginTop:int = 20;
		public var marginBottom:int = 20;
		public var targetHeight:int;
		public var target:Sprite;
		
		private var SCRB_BACKGROUND:Sprite;
		private var SCRB_HANDLER:Sprite;
		private var SCRB_status:Boolean = false;
		private var SCRB_scrollY:int = 0;
		private var SCRB_handlerY:int = 0;
		private var SCRB_maxHeight:int;
		
		
		
		
		public function KillerScrollbar() 
		{ 
			trace("FullScrollbar: Hello!");		
		};
		public function resize() 
		{ 
			SCRB_handlerY = SCRB_HANDLER.y;
			SCRB_scrollY = 0;
			render(0);	
		};
		
		
/*
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    _       _ __ 
   (_)___  (_) /_
  / / __ \/ / __/
 / / / / / / /_  
/_/_/ /_/_/\__/  
                 
*/
		
		public function init():void 
		{

			var matr:Matrix = new Matrix();
			matr.createGradientBox(20, 1, 0, 0, 0);
			
			SCRB_BACKGROUND = new Sprite();
			SCRB_BACKGROUND.graphics.beginGradientFill(GradientType.LINEAR, [0x999999, 0xBBBBBB], [1, 1], [0x00, 0xFF], matr, SpreadMethod.PAD); 
			SCRB_BACKGROUND.graphics.drawRoundRect(0, 0, 20, 100, 20, 20);
			SCRB_BACKGROUND.graphics.endFill();
			var grid1:Rectangle = new Rectangle(1, 20, 18, 60);
			SCRB_BACKGROUND.scale9Grid = grid1;
			addChild(SCRB_BACKGROUND);
			
			SCRB_HANDLER = new Sprite();
			SCRB_HANDLER.graphics.beginGradientFill(GradientType.LINEAR, [0x444444, 0x000000], [1, 1], [0x00, 0xFF], matr, SpreadMethod.PAD); 
			SCRB_HANDLER.graphics.drawRoundRect(0, 0, 20, 50, 20, 20);
			SCRB_HANDLER.graphics.endFill();
			var grid2:Rectangle = new Rectangle(1, 20, 18, 10);
			SCRB_HANDLER.scale9Grid = grid2;
			addChild(SCRB_HANDLER);
			
			SCRB_HANDLER.addEventListener( MouseEvent.MOUSE_DOWN, EVT_HANDLER_mouseDown );
			SCRB_HANDLER.addEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp );
			this.stage.addEventListener( MouseEvent.MOUSE_WHEEL, EVT_STAGE_mouseWheel );
			this.stage.addEventListener( Event.MOUSE_LEAVE, EVT_STAGE_mouseLeave );
			this.stage.addEventListener( Event.RESIZE, EVT_STAGE_resize );
			trace("FullScrollbar: Ready");
			
			resize();
				
		};
	

/*
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         __                                           __      
   _____/ /_____ _____ ____     ___ _   _____  ____  / /______
  / ___/ __/ __ `/ __ `/ _ \   / _ \ | / / _ \/ __ \/ __/ ___/
 (__  ) /_/ /_/ / /_/ /  __/  /  __/ |/ /  __/ / / / /_(__  ) 
/____/\__/\__,_/\__, /\___/   \___/|___/\___/_/ /_/\__/____/  
               /____/                                         
*/

		public function EVT_STAGE_mouseWheel( e:MouseEvent ):void
		{
			SCRB_handlerY = SCRB_HANDLER.y;
			SCRB_scrollY = 0;
			var eDelta = int(e.delta);
			if( eDelta != -1 ) if( eDelta != 0 ) if( eDelta != 1 ) render( eDelta * (-6) );
		};
		public function EVT_STAGE_mouseMove( e:MouseEvent ):void 
		{
			render(e.stageY);
		};
		public function EVT_STAGE_releaseOutside( e:MouseEvent ):void 
		{
			SCRB_status = false;
			e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside );
			e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
		};
		public function EVT_STAGE_mouseLeave( e:Event ):void
		{
			if( SCRB_status )
			{
				SCRB_status = false;
				e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside );
				e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
			}
		};
		public function EVT_STAGE_resize( e:Event ):void
		{
			resize();
		};
		
		
/*
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    __                    ____                                  __      
   / /_  ____ _____  ____/ / /__  _____   ___ _   _____  ____  / /______
  / __ \/ __ `/ __ \/ __  / / _ \/ ___/  / _ \ | / / _ \/ __ \/ __/ ___/
 / / / / /_/ / / / / /_/ / /  __/ /     /  __/ |/ /  __/ / / / /_(__  ) 
/_/ /_/\__,_/_/ /_/\__,_/_/\___/_/      \___/|___/\___/_/ /_/\__/____/  

*/
		
		public function EVT_HANDLER_mouseDown( e:MouseEvent ):void {
			SCRB_handlerY = SCRB_HANDLER.y;
			SCRB_scrollY = e.stageY;
			SCRB_HANDLER.addEventListener( MouseEvent.ROLL_OUT, EVT_HANDLER_rollOut, false, 0, true );
			e.target.stage.addEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove, false, 0, true );
			e.target.stage.addEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp, false, 0, true );
			SCRB_status = true;
		};
		public function EVT_HANDLER_mouseMove( e:MouseEvent ):void 
		{
			if( SCRB_status ) render( e.stageY );
		};
		public function EVT_HANDLER_rollOut( e:MouseEvent ):void 
		{
			if( e.buttonDown ){
				e.target.stage.addEventListener( MouseEvent.MOUSE_UP, EVT_STAGE_releaseOutside, false, 0, true );
			}
			e.target.removeEventListener( MouseEvent.ROLL_OUT, EVT_HANDLER_rollOut );
		};
		public function EVT_HANDLER_mouseUp( e:MouseEvent ):void 
		{
			SCRB_status = false;
			e.target.stage.removeEventListener( MouseEvent.MOUSE_MOVE, EVT_STAGE_mouseMove );
			e.target.stage.removeEventListener( MouseEvent.MOUSE_UP, EVT_HANDLER_mouseUp );
		};
		
		
/*
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        __         
   ________  ____  ____/ /__  _____
  / ___/ _ \/ __ \/ __  / _ \/ ___/
 / /  /  __/ / / / /_/ /  __/ /    
/_/   \___/_/ /_/\__,_/\___/_/     
                                   
*/
		
		public function render( Y:int ):void 
		{
			targetHeight = target.height;
			SCRB_maxHeight = stage.stageHeight - marginTop - marginBottom;
			this.y = marginTop;
			
			var backgroundHeight:int = SCRB_maxHeight;
			if(backgroundHeight<40) backgroundHeight = 40;
			SCRB_BACKGROUND.height = backgroundHeight;
				
			if(target != null)
			{
				if( targetHeight > SCRB_maxHeight )
				{
					
					SCRB_HANDLER.visible  = true;
					SCRB_BACKGROUND.alpha = 1;
					var yTarget:int;
					var delta:int = Y - SCRB_scrollY;
					var handlerHeight:int = Math.floor( ( backgroundHeight * SCRB_maxHeight / targetHeight) / 1 );
					if( handlerHeight < 30) handlerHeight = 30;
					SCRB_HANDLER.height = handlerHeight;
					if( delta <= -SCRB_handlerY ) delta = -SCRB_handlerY;
					if( delta > backgroundHeight - handlerHeight - SCRB_handlerY ) delta = Math.floor( backgroundHeight - handlerHeight - SCRB_handlerY );
					var SCRB_handlerNewY:int = SCRB_handlerY + delta;
					SCRB_HANDLER.y = SCRB_handlerNewY;
					yTarget = Math.floor( marginTop - ( ( SCRB_handlerNewY * ( targetHeight - SCRB_maxHeight ) / ( backgroundHeight - handlerHeight ) ) ) );
					target.y = yTarget;
				
					trace( "FullScrollbar: "+String( Math.floor(SCRB_handlerNewY * 100 / ( backgroundHeight - handlerHeight ) ) )+"%" );
				} 
				else 
				{
					SCRB_HANDLER.y = 0;
					SCRB_scrollY = 0;
					target.y = marginTop;
					SCRB_HANDLER.visible  = false;
					SCRB_BACKGROUND.alpha = .2;
				}
				
			}
				
		};
		
		
		

	}
}

Conclusion

Inclus avec :

- MacMouseWheel AS3 class
"Class that supports using the mouseWheel on Mac OS, requires javascript class swfmacmousewheel.js" @author Gabriel Bucknall

- swfObject
Pour afficher la preview et permettre l'utilisation de la classe AS3 MacMouseWheel.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

01 septembre 2008 04:27:03 :
Mise à jour de l'affichage de cette page.

Commentaires et avis

signaler à un administrateur
Commentaire de MADenigma le 01/09/2008 08:35:21

Super !
Source très utile et bien présentée, bravo.

signaler à un administrateur
Commentaire de on_drag_on le 03/09/2008 14:14:21

Salut,
Super ta source je viens de commencer lAS3 donc peut pas trop commenter mais ça a l'air très propre, et le coup de la molette pour mac c'est génial, ça manquait en AS2 et j'avais pas trouvé la solution, merci!
;)

signaler à un administrateur
Commentaire de JeMi le 04/09/2008 05:13:28

Merci pour vos commentaires :)
Je suis en train de rédiger un tutoriel pour expliquer les principes utilisés dans cette source.
J'en profiterai pour lui ajouter quelques petites fonctions d'utilité publique...
Jean-Michel.

signaler à un administrateur
Commentaire de Girou le 23/09/2008 12:28:23

Bonjour,

je suis pas du tout expert en AS3 et peut-être y a-t-il des contrindications, mais :
Pourquoi ne pas passer en parametre au contructeur le target, targetheight et marges ?
cela permettrais par exemple de positionner par défaut la scrollbar a droite du clip
d'avoir des valeur par défaut si les parametres ne sont pas remplis (marges = 20 pixels, targetheight=taille de la fenêtre - marges)
cela permettrait de faire le init() depuis le contructeur
-> en gros, simplifier au maximum l'instantiation d'un scrollbar

import KillerScrollbar;

var myScrollbar :KillerScrollbar = new KillerScrollbar();
myScrollbar.x = 670;
myScrollbar.y = 10;
myScrollbar.target = myTargetClip;
myScrollbar.maxHeight = 500;
addChild(myScrollbar);
myScrollbar.init();

pourrait se résumer, dans le cas le plus simple, à :

import KillerScrollbar;

var myScrollbar :KillerScrollbar = new KillerScrollbar(myTargetClip);
addChild(myScrollbar);

signaler à un administrateur
Commentaire de lural le 19/11/2008 03:21:45

Bonjour,

Bravo !
Script très pratique, merci beaucoup.
J'avais justement une question. Est-il possible d'utiliser ce code sur un site professionnel (qui sera vendu) directement ? Ou faut-il l'accord des créateurs ?
Pour l'instant, ayant vu le copyright, j'ai enlever la partie pour Mac
["MacMouseWheel" (©Gabriel Bucknall)]
Merci de vos réponses ;)

A bientôt
Lural

signaler à un administrateur
Commentaire de Thib969 le 23/02/2009 15:26:03

Bonjour,

Je dois vraiment être une buze mais est-ce qu'on sait changer la couleur du la barre?

signaler à un administrateur
Commentaire de aumcreation le 29/05/2009 15:09:10

Super cette source ! A peu de chose près exactement ce que je cherchai mais en beaucoup mieux :) :)

Thib969=> Pour changer l'apparence de la barre faut que tu regardes dans le fichier FullScrollbar.as dans la section "Init" (ligne 73&74 tu changes la couleur et la forme du fond de la barre et quelques lignes en dessous celle du handler)

Encore un grand merci JeMi !

signaler à un administrateur
Commentaire de aumcreation le 30/05/2009 10:58:54

Ah par contre je viens de m'apercevoir d'une limite à cette fonction... :(
En fait ça marche très bien si ton anim est défini par une zone stricte (ex : 800x600) mais si tu passes sur un format en % de la fenetre là forcement dès que tu resize ça change les proportions de la barre et du coup ça marche plus...
Je cherche depuis ce matin à modifier ça dans le fichier .as mais j'arrive à rien de concluant.. L'idée ce serait de pouvoir utiliser la scrollbar dans un clip et qu'elle ce limite en taille à celui ci...

Si quelqu'un à un début de réponse je suis preneur ;)

signaler à un administrateur
Commentaire de aumcreation le 30/05/2009 11:19:00

Ok autant pour moi le café de ce matin avait pas encore du faire assez effet..
Désolé de pourrir le topic mais visiblement on peut pas supprimer nos messages inutiles..

Donc si il y en a qui se poserait la même question que moi il suffit de remplacer le paramètre stage.stageHeight (ligne 193) par la hauteur fixe que l'on souhaite...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Class ActionScript [ par maitrechu ] Bonjour, je cherche des tutoriaux sur comment se servir utilement des classes ActionScript, et de toutes les possibilit&#233;s qu'elles offrent. J'ai Liaison mouseWheel/Scrollbar navigateur perdu [ par julian696 ] Bonjour à tous,Après quelques jours de recherche et plusieurs forums épluchés sans réponses,je tente une dernière fois de trouver une solution a mon p AS3 importer une commande AS depuis un XML [ par ourso ] Bonjour une petite question, qui me pose toujours un problème.J'ai besoin d'inclure quelques commandes pour le lancement d'une appli dans une balise X AS3: couper le son d' un clip. [ par Dodjix ] Bonjour,Voilà je m 'essai depuis peu à l'apprentissage d' AS3, mais je rencontre un problème.J'ai créer un clip avec sur un des calques une animation scrollbar - action a repeter tant que le bouton est enfoncé [ par lapuce87 ] Bonjour tout le monde,J'essaye de créer une scrollbar a l aide de 2 boutons (bt_down &amp; bt_up).Actuellement, j arrive a faire en sorte de monter ou { et } en AS3 [ par Nainphomane ] Salut, question bete mais pourtant ca me gonfle ^^ je n'arrive pas à entrer de { dans mon panneau Action sur Flash CS3 en actionscript 3, pourtant j'a passage d'une variable d'un swf en AS2 à un SWF en AS3 [ par ruchercreusois ] Bonjour J'aimerai d'un swf en AS2 passer l'adresse à afficher à GoogleMapFlashCS3 qui serait appelé par un LoadmovieNumOr _global.data n'a pas l'air d problème actionscript 2 [ par lolosushi ] Bonjour! j'avais déjà poser une question pour un problème de déplacement, qui est maintenant réglé mais a présent je me confronte a un autre : c'est u Recherche composant AS3 - playlist [ par fxlamare ] Bonsoir,   Je recherche un composant AS3 (ou des idées) capable de répondre en partie à ma problématique (voire même entièrement soyons fou, je suis élimination d'un "TextField" en as3 [ par inaden ] Bonjour,je n'arrive pas à trouver s'il existe une fonction permettant de supprimer un champ texte crée comme cela : var monTexte:TextField = new TextF


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.