begin process at 2010 03 19 18:15:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > FULLSCROLLBAR: AS3 SCROLLBAR CLASS

FULLSCROLLBAR: AS3 SCROLLBAR CLASS


 Information sur la source

Note :
Aucune note
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é :10 329 / 1 276

Auteur : JeMi

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
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

Seulemen t 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

Les Membres Club peuvent 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.

 Sources de la même categorie

Source avec Zip Source avec une capture LANCER UNE GALERIE LIGHTBOX À PARTIR D'UN FLASH par beladom
Source avec Zip SUPER TWEEN PACKAGE par Acidchlorhydrik
Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture REBOND DE BALLON AVEC TWEEN par habibcode

 Sources en rapport avec celle ci

Source avec Zip SUPER TWEEN PACKAGE par Acidchlorhydrik
Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture CALCUL DE PI PAR L'ÉQUATION DE LEIBNIZ EN AS3 par Clem_02
Source avec Zip CHARGER SON EXTERNE FLASH AS par tranber78

Commentaires et avis

Commentaire de MADenigma le 01/09/2008 08:35:21

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

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!
;)

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.

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);

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

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?

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 !

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 ;)

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

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales