PDA

Просмотр полной версии : Помогите со свойствами объекта, плиз!


Enslaver
28.11.2002, 07:04
На рисунке вы можете видеть три объекта (символа) типа MovieClip. Пусть они будут иметь следующие имена: mc1 (кружок 1), mc2 (кружок 2) и mc3 (прямоугольник).
Нужно программно деформировать (используя вращение и удлинение) объект mc3 таким образом, чтобы он связал два предыдущих объекта. Т.е. протягивался между ними.

Я так понимаю, сначала надо установить начальную точку объекта mc3 там, где установлен объект mc1. Сделал я это вот так:
setProperty (mc3, _x, getProperty(mc1, _x));
setProperty (mc3, _y, getProperty(mc1, _y));
Далее, как я понимаю, мне надо развернуть объект mc3, используя свойство _rotation, таким образом, чтобы другой его конец смотрел точно в сторону mc2 объекта. Но я не пойму, как найти угол? Дайте формулу, чтоли... помогите с кодом, плиз.
Затем надо удлинить mc3, чтобы он доставал до объекта mc2. Верно?

Помогите с кодом, пожалуйста.
Черкните хоть что-нибудь...

YuriiZelenev
28.11.2002, 07:54
Hi!

K sojaleniu, mne ne sovsem poniatno kak tebe eto nujno delat...
Interactivno ili net.
V lubih sluchiiah ili tolko v dannom.

Dlia dannogo, ne interactivnogo sluchaia podoidet vot eto...
--------

Veshaem na muviclip "mc3" sledushii kod.

onClipEvent (load ) { /*Pri poevlenie na scene...*/
_y =_y +10; /*Peremestitsai na 10pixelei nije*/
_rotation = _rotation -45; /*Razvernut priamougolnik na -45 gradusov*/
_yscale = 400; /*Rastenut priamougolnik po osi y na 400%*/
}


--------------------
GL ;)

Max N Chubin_
28.11.2002, 12:07
дорисуй как нужно...

Enslaver
29.11.2002, 03:06
Я скачал ваши примеры, но мой Flash почему-то пишет Unexpected file format :( Я пользую 5 версию флеша...

Вот, сформулирую задачу лучше.
В аттачфайле вы найдете мой fla-файл с несколькими функциями нахождения длины и угла, но ни одна из функций не работает на 100%. Помогите написать правильнее.
Если потянуть за кружочек, то прямоугольник должен менять форму, постоянно связывая объекты. То есть, если вы один кружочек отдаляете от дургого, то прямоугольник должен удлиняться... он должен все время связывать объкты!
Но посмотрите, что за убожество происходит у меня. Это все неправильно написанные фукнции... подскажите плиз.

Nox Noctis
29.11.2002, 04:23
макс, а ведь я от контрольной тебя освободил :)) видимо зря... этот тот же самый вопрос =)

2Enslaver
вот твой исходник: те же яйца, только в профиль :)

Nox Noctis
29.11.2002, 04:32
а, извините, я забыл что надо для пятерки =)
пол четвертого уже, соображается трудно =)

код функций с угла и длины:
function GetAngle(st1, st2) {
return Math.atan2(st2._y-st1._y, st2._x-st1._x)*180/Math.PI;
}
function GetLength(st1, st2) {
return Math.sqrt(Math.pow(st1._x-st2._x, 2)+Math.pow(st1._y-st2._y, 2));
}
эти функции в качестве аргументов берут ссылки на клипы.

не советую называть клипы цифрами - это неудобно и делает невозможным по-человечески польховаться ссылками...
можно конечно обращаться this["1"] но зачем, когда можно просто добавить каких-нить буковок ? =)