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
Code ActionScript :
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;