Fullbrowser masque et scrollbar

smawell Messages postés 17 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 22 février 2011 - 10 août 2010 à 10:51
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 10 août 2010 à 18:31
Bonjour,
Je suis en train de concevoir une interface en fullbrowser, et je rencontre un problème.

La structure est simple:
un bloc pour le fond de la page
un clip contenant le texte et image de la page
un masque pour délimiter la page
un scrollbar pour naviguer

la page et son contenu restent à un distance constante du haut
le fond de la page s'adapte à la hauteur de la scène grâce à la ligne
_this.pagefond._yscale=Stage.height-_this.pagefond._y

Mon soucis, est que je n'arrives pas à redimensionner le masque avec cette même commande, à savoir
_this.masque._yscale=Stage.height-_this.masque._y;
le résultat est désastreux
je ne trouves pas de solution et ce même après des jours d'essais et de recherche.

Merci aux bonnes âmes de me venir en aide, je commence à me décourager.


les fichiers fla et swf sont ici: http://www.ismabook.com/tests/
test: redimensionnement du fond de la page uniquement
test: essai catastrophique avec le redimensionnement du masque

Ci dessous le code





Stage.align = "TL";
Stage.scaleMode = "noScale";


//////////////////////////////////////////
//redimentionnement de la page de contenu
//////////////////////////////////////////

var listener = new Object ();
var _this = this;
listener.onResize = function () {

//  _this.masque._yscale=Stage.height-_this.masque._y;        //LIGNE INCRIMINEE!!!
_this.pagefond._yscale=Stage.height-_this.pagefond._y

}


Stage.addListener(listener);
listener.onResize();







////////////////////////////////////
//mécanisme du scrollbar
////////////////////////////////////

var useAnimation = true;
t = 15;

import mx.transitions.easing.*;
import mx.transitions.Tween;
page.setMask(masque);
page.page.autoSize = true;
page.page.html = false;
page.page.mouseWheelEnabled = false;
scrolling = false;
scroller._y = masque._y;

this.onEnterFrame = function() {

var tween:Tween = new Tween(sb, "_y", Normal.easeInOut, sb._y, scroller._y, t, false);


a = masque._y;
b = masque._y+masque._height-scroller._height;
c = masque._height-scroller._height;
sl = page._height-masque._height;

scroller._height = masque._height * (masque._height/page._height);

vp = (scroller._y-a)/c;
py = vp*sl;
p = Math.round(masque._y-py)+40;

if (useAnimation == false) {
page._y = p;
} 

else {
var tween:Tween = new Tween(page, "_y", Strong.easeOut, page._y, p, t, false);
}

if(page._height < masque._height){
scroller._visible = true;
}
};


var mouseListener:Object = new Object()

mouseListener.onMouseWheel = function(delta){
 addy = -delta*10;
 yy = scroller._y;
  hh = scroller._height;
  
 if(yy + hh + addy > masque._y + masque._height){ 
 	addy = masque._y + masque._height - yy - hh;
 }
 
 if(yy + addy < masque._y){
 addy = masque._y - yy;
 }
 
 if(scroller._visible == true){
 	scroller._y +=addy;
 }
 
}
Mouse.addListener(mouseListener)

lv = new LoadVars();

lv.onLoad = onLoadCallBack;






2 réponses

smawell Messages postés 17 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 22 février 2011
10 août 2010 à 11:05
PS: je penses que cette source peut être très intéressante pour la communauté, alors si on arrive à la mettre au point, je serait très heureux de la partager à qui ça intéresse.

merci chaleureusement par avance.
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
10 août 2010 à 18:31
Hello,

il faut que tu configues correctement l'échelle de ton masque, à savoir si tu veux le redimensionner en proportion :
this.masque._xscale this.masque._yscale le taux que tu veux;

Autrement si tu veux redimensionner ton masque à d'autres proportions :
this.masque._xscale = ...;
this.masque._yscale = ...;


Ensuite il te suffit juste de renseigner/rerenseigner les coordonnées de "masque" :
this.masque._y = ...;
this.masque._x = ...;


A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
Rejoignez-nous