Я надеюсь, что кто-то может пролить свет на этот вопрос для меня ... У меня есть мувиклип, который прокручивается с помощью «датчика» с каждой стороны Уровень. Клип прокручивается в обоих направлениях, но вот моя проблема:Вспышка - Простенький прокручиваемый движок, прокручиваемый датчиком на каждой стороне
Когда пользовательская мышь покидает сцену, клип останавливается на своих дорожках, и это не обеспечивает приятный плавный эффект. Глядя на код ниже, можно ли каким-либо образом сказать анимацию, чтобы облегчить, когда пользовательская мышь покидает сцену, а не просто останавливается внезапно?
class Sensor extends MovieClip {
public function Sensor() {
}
public function onEnterFrame() {
//
var active:Boolean;
// is mouse within sensor?
if ((_level2._xmouse >= this._x) && _level2._xmouse <= (this._x + this._width)) {
active = true;
} else {
active = false;
}
if(active) {
// which area of the sensor is it in?
var relative_position:Number;
var relative_difference:Number;
relative_position = _level2._xmouse/this._width * 100.0;
//_level2._logger.message("relative position is " + relative_position);
if (!isNaN(relative_position)) {
// depending on which area it is in, tend towards a particular adjustment
if(relative_position > _level2._background_right_threshold) {
relative_difference = Math.abs(relative_position - _level2._background_right_threshold);
//relative_difference = 10;
} else if(relative_position < _level2._background_left_threshold) {
relative_difference = Math.abs(_level2._background_left_threshold - relative_position);
relative_difference *= -1;
} else {
_level2._background_ideal_adjustment = 0;
}
var direction:Number;
if(_level2._pan_direction == "left") {
direction = 1;
} else {
direction = -1;
}
_level2._background_ideal_adjustment = direction * (relative_difference/10) * _level2._pan_augmentation;
//_level2._logger.message("ideal adjustment is " + _level2._background_ideal_adjustment);
if (!isNaN(_level2._background_ideal_adjustment)) {
// what is the difference between the ideal adjustment and the current adjustment?
// add a portion of the difference to the adjustment:
// this has the effect that the adjustment "tends towards" the ideal
var difference:Number;
difference = _level2._background_ideal_adjustment - _level2._background_adjustment;
_level2._background_adjustment += (difference/_level2._background_tension);
// calculate what the new background _x position would be
var background_x:Number;
var projected_x:Number;
background_x = _level2["_background"]._x;
projected_x = background_x += _level2._background_adjustment;
//_level2._logger.message("projected _x is " + projected_x);
// if the _x position is valid, change it
if(projected_x > 0) projected_x = 0;
if(projected_x < -(_level2["_background"]._width - Stage.width)) projected_x = -(_level2["_background"]._width - Stage.width);
_level2["_background"]._x = projected_x;
// i recommend that you move your other movieclips with code here
}
}
}
}
}
спасибо, это, кажется, лучший маршрут. Ссылка больше не работает, извинения. Еще раз спасибо. – SimonDowdles