PDA

Просмотр полной версии : движение панорамы при разных размерах экрана


Alex Pusher
18.02.2008, 17:12
Суть проблемы: есть большая фотография (1600х1200) при движении мыши
она движется (что то типа панорамы). Необходимо, что бы при разном размере сцены - фотография не уходила в сторону так, что бы было видно белое поле сцены. При размере экрана 1600х1200 фотка двигаться естественно не должна (только при меньших размерах). Прилогаю исходник, посмотрите, там всё сразу понятно что мне нужно...

etc
18.02.2008, 17:28
понятно что мне нужно...
А от участников форума вы что хотите?

Alex Pusher
18.02.2008, 17:31
я имел ввиду, что в исходнике более ясна суть проблемы, на словах сложно обьяснить.

ulik
26.02.2008, 14:49
Знаю, что тема старая, но автор попросил отписать [2etc]


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


/* properties */
var moveObj:Object = new Object();
moveObj.int = 0; /* private */
moveObj.root = this; /* public ~ the root reference */
moveObj.stage = new Object(); /* private */
moveObj.data = new Object(); /* private */
moveObj.target = undefined; /* public ~ the target MovieClip reference, change it */
/* methods */
moveObj.initialize = function() {
moveObj.data.stage_width = Stage.width;
moveObj.data.stage_height = Stage.height;
Stage.addListener(moveObj.stage);
moveObj.int = setInterval(moveObj.move, 0);
};
moveObj.stage.onResize = function() {
moveObj.data.stage_width = Stage.width;
moveObj.data.stage_height = Stage.height;
if (moveObj.target._width<=0 && moveObj.target._height<=0) {
clearInterval(moveObj.int);
} else if(moveObj.target._width<=Stage.width && moveObj.target._height<=Stage.height){
clearInterval(moveObj.int);
}else{
clearInterval(moveObj.int);
moveObj.int = setInterval(moveObj.move, 0);
}
};
moveObj.move = function() {
var target_width = moveObj.target._width;
var target_height = moveObj.target._height;
var delta_width = moveObj.data.stage_width-target_width;
var delta_height = moveObj.data.stage_height-target_height;
var koef_x = delta_width/moveObj.data.stage_width;
var koef_y = delta_height/moveObj.data.stage_height;
moveObj.target._x = koef_x*moveObj.root._xmouse;
moveObj.target._y = koef_y*moveObj.root._ymouse;
};
/**/
moveObj.target=this.mc //set the target reference to the 'mc' MovieClip
moveObj.initialize(); //launch the engine