begin process at 2012 02 10 09:54:42
  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é :14 136 / 1 692

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 ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar
Source avec Zip Source avec une capture MP3 LAYER NICE &SMALL par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AS3 - PRINCIPE ET APPLICATION DE FONCTION RÉCURSIVE par pegase31
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture AS3 - JEU DU TAQUIN par pegase31
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] Les scrollbar... c'est si difficile ? [ par vedelvetsyn ] B'soir, Je suis en train de plancher pour faire une scrollbar. J'apprends auprès de tuto, mais ceux que j'ai trouvé me paraissent assez complexe. Es Problème ScrollBar AS3 [ par chickentib ] Bonjour à tous, J'ai un problème dans mon animation Flash. j'ai créer une séquence intro qui déroule une animation d'introduction. A la fin, je redir [AS3 - Gestion d'images] Je sup' ou je sup' pas ? [ par vedelvetsyn ] Encore une petite question, mais d'ordre logique cette fois. J'ai généré un loader pour afficher des images dans un clip. J'ai également généré des b Evènement click sur une occurrence clip AS3 [ par AOE_angelofdarkness ] Bonjour tout le monde, Je me mets petit à petit à l'AS3 et forcement je rencontre quelques difficultés. Je voudrais savoir s'il est possible de créer Affichage XML avec AS3 [ par Guerrilla ] Bonjour à tous, Je souhaite faire un simple affichage de contenu XML dans mon animation, le problème c'est que il n'y a que la première entrée qui s'a [AS3] Une sorte de masque d'écrêtage en AS3 ?... c'possible ? [ par vedelvetsyn ] Bonjour tout le monde :-) Aujourd'hui j'ai une question sympa, à mon avis pas super compliquée, mais faut juste le savoir. Sur ma scène, j'ai un élé Problème bouton AS3 naviguer entre sequence [ par nicolasp31000 ] Bonjour, je cherche le moyen de créer un symbole(bouton ou clip) qui me permette de naviguer entre différentes séquences de mon projet.fla,a programme Les accents en Flash CS4 [ par jytest ] Bonsoir à tous, Mon problème pourrait sembler ridicule aux pros que vous êtes tous. Cela fait plusieurs centaines de sites web que j'ouvre... Jamais


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 4,446 sec (3)

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