smawell
Messages postés17Date d'inscriptionmercredi 25 mars 2009StatutMembreDernière intervention22 février 2011
-
10 août 2010 à 10:51
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 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;
smawell
Messages postés17Date d'inscriptionmercredi 25 mars 2009StatutMembreDernière intervention22 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.