eddy444, В принципе, если некоторое время этим заниматься, код не будет так пугать. На данный момент я нахожу то что мне более менее подходит, декомпилю и угрюмо пытаюсь понять что к чему.
Сейчас я имею три кода работающих вместе:
Upd: Забыл сказать, здесь скрипт не только панорамки подгоняет, а пишет сбоку название картинки
Код:
var app;
_global.jump = function (i)
{
var _loc4 = _root.xxx.getDepth();
image.removeMovieClip();
++i;
trace (i);
var _loc3 = new Array("", "холл", "комната отдыха", "гостинная", "комната отдыха", "душевая", "парилка");
_root._label.text = _loc3[i];
app = new Slider2("/swf/tu/" + String(i) + ".swf", _loc4);
};
jump(0);
trace (app);
#
Код:
initclip 1
class Slider2
{
var dep, image, target, rect, mouse, x_pos, y_pos, mc_loader, r_img, r_mask;
function Slider2(file, d)
{
dep = d;
image = _root.createEmptyMovieClip("image", dep - 1);
image._x = 0;
image._y = 0;
image.cacheAsBitmap = true;
target = _root;
rect = new flash.geom.Rectangle(0, 0, Stage.width, Stage.height);
mouse = new flash.geom.Point(0, 0);
x_pos = 0;
y_pos = 0;
this.load(file);
} // End of the function
function load(file)
{
mc_loader = new MovieClipLoader();
mc_loader.addListener(this);
mc_loader.loadClip(file, image);
} // End of the function
function onLoadInit(tg)
{
r_img = new flash.geom.Rectangle(0, 0, image._width, image._height);
r_mask = new flash.geom.Rectangle(image._x, image._y, rect.width, rect.height);
this.start();
} // End of the function
function onLoadProgress(tg, bytesLoaded, bytesTotal)
{
} // End of the function
function onLoadComplete(tg)
{
} // End of the function
function start()
{
image.scrollRect = rect;
image.onEnterFrame = mx.utils.Delegate.create(this, enterframe);
} // End of the function
function enterframe()
{
mouse.x = target._xmouse;
mouse.y = target._ymouse;
if (r_mask.containsPoint(mouse))
{
y_pos = Math.abs(image._y - mouse.y) / rect.height * (r_img.height - rect.height);
x_pos = Math.abs(image._x - mouse.x) / rect.width * (r_img.width - rect.width);
} // end if
rect.x = rect.x + (x_pos - rect.x) / 8;
rect.y = rect.y + (y_pos - rect.y) / 8;
image.scrollRect = rect;
} // End of the function
} // End of Class
#endinitclip
Код:
#initclip 2
class mx.utils.Delegate extends Object
{
var func;
function Delegate(f)
{
super();
func = f;
} // End of the function
static function create(obj, func)
{
var _loc2 = function ()
{
var _loc2 = arguments.callee.target;
var _loc3 = arguments.callee.func;
return (_loc3.apply(_loc2, arguments));
};
_loc2.target = obj;
_loc2.func = func;
return (_loc2);
} // End of the function
function createDelegate(obj)
{
return (mx.utils.Delegate.create(obj, func));
} // End of the function
} // End of Class
#endinitclip
По сути уже работающую так как мне нужно флешку, но когда я её экспортирую картинки просто переключаются, но абсолютно статичны.
А в дебагере флешка работает. Хоть плачь. И вроде можно было бы скинуть всю эту байду специалисту по экшн скрипту и он за 15 минут всё бы настроил, но тогда спрашивается куда девать потраченных два дня
Сегодня уже 17 рабочий час пошёл.
Я хочу понять почему эта фигня не работает