Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Передвижение mc при ресайзе сцены (http://www.flasher.ru/forum/showthread.php?t=146854)

desprit 19.11.2010 18:58

Передвижение mc при ресайзе сцены
 
Привет всем!

У меня есть несложный код, в котором функция func1 выполняет следующее действие:
Код AS3:

var box:Box = new Box ();
box.x = stage.stageWidth  / 2;
box.y = stage.stageHeight / 2;
//я запоминаю положение объекта
boxX1 = box.x;
boxY1 = box.y;

Затем есть другая функция func2, которая передвигает этот mc:
Код AS3:

box.x = stage.stageWidth  / 4;
box.y = stage.stageHeight / 4;
//я запоминаю новое положение
boxX1 = box.x;
boxY1 = box.y;

При ресайзе сцены срабатывает onStageResize:
Код AS3:

//Она должна передвинуть mc
 
TweenLite.to ( box, 1, { x: boxX1, y: boxY1 } );

Чтобы из функции onStageResize получить доступ к boxX1 и boxY1, я так понял, нужно задать эти переменные глобально перед конструктором. Вот с этим и возникают непонятности... Как это сделать? Я пробовал писать перед конструктором
Код AS3:

var boxX1: Number;
var boxY1: Number;

Но при ресайзе ничего не происходит, я чувствую, что подвох как раз в том, что при изменении положения объекта на сцене, его новые координаты не передаются глобальным переменным...
Что мне делать? Очень надеюсь на вашу помощь...

expl 19.11.2010 21:37

Цитата:

box.x = stage.stageWidth / 4;
box.y = stage.stageHeight / 4;
//я запоминаю новое положение
boxX1 = box.x;
boxY1 = box.y;
//Она должна передвинуть mc
TweenLite.to ( box, 1, { x: boxX1, y: boxY1 } )
Странная логика какая-то - сначала передвинуть объект резко в (x, y), а зетем начать плавное движение в те же (x, y), почему не так?:
Код AS3:

var newX:Number = stage.stageWidth  / 4;
var newY:Number = stage.stageHeight / 4;
 
//Она должна передвинуть mc
TweenLite.to ( box, 1, { x: newX, y: newY } )


desprit 19.11.2010 22:04

Я описал ту часть, которая мне непонятна и упустил очень много всего. В оригинале у меня нет резкого перемещения объекта, там все точно также на твинах построено, просто в целях экономии вашего времени на прочтение моего кода, я оставил только самый важный момент - как мне сохранить новые координаты объекта, чтобы функция ресайза работала уже непосредственно с ними?
Вы ведь мне просто написали как сделать плавный твин из одной координаты в другую.


Часовой пояс GMT +4, время: 21:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.