/*------------------------------------------------------------------------------------------------------ steWheelManagerClass Class Classe pour faire scroller avec la roulette de souris. //Fonctionne avec une fonction javascript, seulement sur IE 6 PC //Et fonctionne sur tous les browsers PC avec plug-in 7 Code par Stéfane Funaro - www.stefetmarie.com - www.gotoAndPlay.ca Email: stef@stefetmarie.com Version: 2.0 Derniere revision: Septembre 2004 -------------------------------------------------------------------------------------------------------*/ /* ** JavaScript a mettre dans la page html dans le pour support IE 6 PC * Attention, le swf doit avoir comme ID "movie", sinon changer le javascript ** Exemple d'utilisation monScrollBar.onSWheel = function(scrollValue){ //scrollValue sera egal a -1 en scroll up et a 1 en scroll down } _global.steWheelManager.addListener(monScrollBar) */ /*----------------------------------------------------------------------------------------- Public methods -------------------------------------------------------------------------------------------*/ //Constructeur - Singleton, instantiation unique function steWheelManagerClass() { if(!(this instanceof steWheelManagerClass)){ trace(">>> Error: steWheelManagerClass is not a function! <<<"); return null; }else if(this.constructor.prototype.allowInstance){ this.constructor.prototype.allowInstance = false; ASSetPropFlags(this.constructor.prototype,["allowInstance"],7); trace(">> instance _global.steWheelManager done <<"); this.useJS = true; this.init(); }else{ trace(">>> Error: steWheelManagerClass is already instanciated! <<<"); this.__proto__ = null; return; } }; var o = steWheelManagerClass.prototype; var s = steWheelMgrClass.__proto__ ; ASBroadcaster.initialize(o); o.allowInstance = true; //Author Properties s.className = 'steWheelManagerClass' ; s.version = '2.0.1 AS1'; s.author = 'stef funaro'; s.link = 'www.stefetmarie.com'; //Apeller cette methode pour utiliser le scrollPane Macromedia par default o.setMMScrollPaneUse = function() { FScrollPaneClass.prototype.onSWheel = function(val){ if(this.boundingBox_mc.hitTest(_root._xmouse, _root._ymouse, false)){ this.vScrollBar_mc.scrollIt("page", (val*0.1)); } }; FScrollPaneClass.prototype.oldOnLoad = FScrollPaneClass.prototype.onLoad; FScrollPaneClass.prototype.onLoad = function(){ _global.steWheelManager.addListener(this); this.oldOnLoad(); }; }; //Methode pour tout clairer. Utile pour une changement de section! o.removeAllListeners = function() { delete this._listeners; this._listeners = new Array(); } /*----------------------------------------------------------------------------------------- Private methods -------------------------------------------------------------------------------------------*/ //init o.init = function() { //Version du plug-in var pluginVersion = Number($version.substr(4, 1)); //Pour le player 7 et plus, on utilise l'evenement du player et non le JS if(pluginVersion >= 7){ this.useJS = false; this.mouseListener = new Object(); this.mouseListener.controller = this; this.mouseListener.onMouseWheel = function(dat){ this.controller.setWheelDelta(dat,true); } Mouse.addListener(this.mouseListener); } } /*----------------------------------------------------------------------------------------- Properties -------------------------------------------------------------------------------------------*/ o.setWheelDelta = function(val,fromFlash) { if(this.useJS || (!this.useJS && fromFlash)){ this.$wheelDelta = (val > 0) ? -1 : 1; this.broadcastMessage("onSWheel",this.$wheelDelta); } } o.getWheelDelta = function(val) { return this.$wheelDelta; } o.addProperty("wheelDelta", o.getWheelDelta, o.setWheelDelta); /*----------------------------------------------------------------------------------------- End -------------------------------------------------------------------------------------------*/ ASSetPropFlags(o, null, 1); delete o; delete s; trace(">> steWheelManagerClass loaded <<"); _global.steWheelManager = new steWheelManagerClass();