Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Движение под углом (http://www.flasher.ru/forum/showthread.php?t=79502)

BigDan 09.05.2006 23:31

Движение под углом
 
Вложений: 1
Понятно как тело двигается по овалу когда овал в 1 положении(см. рис.)
Как оно будет двигатся если овал будет под углом в 2 положении?

Nirth 09.05.2006 23:33

повернуть овал? у тебя же есть формула, измени градусы

BigDan 09.05.2006 23:41

Какие градусы?

Nirth 09.05.2006 23:56

Если интересна математическая модель, имей совесть и купи учебник по тригонометрии и все встанет на свои места.
Код:

mc._rotation = ГРАДУСЫ;

0xFFFFFF 10.05.2006 01:01

создай контейнер, положи в него анимацию движения по эллипсу, а потом поверни контейнер

0xFFFFFF 10.05.2006 01:03

Цитата:

Сообщение от Nirth
Если интересна математическая модель, имей совесть и купи учебник по тригонометрии и все встанет на свои места.
Код:

mc._rotation = ГРАДУСЫ;

"доверни до семи"..
чтобы двигать объект по эллипсу совершенно не обязательно знать уравнение эллипса. так же не обязательно уметь наклонять эллипс через формулы, когда можно повернуть клип.
Большой Лун, будь добрее..

K.A.T.A.F.A.L.K.E.R 10.05.2006 01:07

Вычисляешь x и y как обчно, но перед выводом на экран вращаешь

0xFFFFFF 10.05.2006 01:10

Цитата:

Сообщение от K.A.T.A.F.A.L.K.E.R
Вычисляешь x и y как обчно, но перед выводом на экран вращаешь

имхо не экономично, трудоемко, больше вычислительных процедур больше загрузят процессор...

K.A.T.A.F.A.L.K.E.R 10.05.2006 01:17

Цитата:

Сообщение от Белая
имхо не экономично, трудоемко, больше вычислительных процедур больше загрузят процессор...

согласен. Но этот же человек, вроде бы, спрашивал уравнение эллипса, так что, скорее всего, ему нужно именно уравнение. Ему предложили несколько вариантов - пусть разбирается ;)

iNils 10.05.2006 01:34

Матричное преобразования (вращение) в двухмерной плоскости.
Код:

this.createEmptyMovieClip("mc",0)
this.mc.lineStyle(0,0xFF0000)
this.mc.moveTo(-5,-5)
this.mc.lineTo(5,-5)
this.mc.lineTo(5,5)
this.mc.lineTo(-5,5)
this.mc.lineTo(-5,-5)
this.a = 100;
this.b = 50;
this.u = -30;
this.d = 0;
this.g2r = Math.PI / 180;
this.onEnterFrame = function () {
        d += 5;
        var x = a * Math.cos (d * g2r);
        var y = b * Math.sin (d * g2r);
        mc._x = x * Math.cos (u * g2r) - y * Math.sin (u * g2r);
        mc._y = x * Math.sin (u * g2r) + y * Math.cos (u * g2r);
};



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

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