Форум 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=128610)

apoptom 12.08.2009 23:59

цикл, складывание имени мувика
 
это
newx1=(aa1x)*Math.cos(theta)+(aa1z)*Math.sin(theta)
newz1=(-aa1x)*Math.sin(theta)+(aa1z)*Math.cos(theta)
............................................................
newx12=(aa12x)*Math.cos(theta)+(aa12z)*Math.sin(theta);
newz12=(-aa12x)*Math.sin(theta)+(aa12z)*Math.cos(theta);

сделать через цикл не получаеться

for(i=1; i<13; i++){
_root["newx"+i]=(_root["aa"+i+"x"])*Math.cos(theta)+(_root["aa"+i+"z"])*Math.sin(theta)
_root["newz"+i]=(-(_root["aa"+i+"x"]))*Math.cos(theta)+(_root["aa"+i+"z"])*Math.sin(theta)
}

помогите, где я ошибся?

Xero201 13.08.2009 00:19

Не знаю, у меня в цикле все нормально:
Код AS1/AS2:

theta=1;
for(i=1;i<13;i++){_root["aa"+i+"x"]=1;_root["aa"+i+"z"]=1}
 
for(i=1; i<13; i++){
_root["newx"+i]=(_root["aa"+i+"x"])*Math.cos(theta)+(_root["aa"+i+"z"])*Math.sin(theta)
_root["newz"+i]=(-(_root["aa"+i+"x"]))*Math.cos(theta)+(_root["aa"+i+"z"])*Math.sin(theta)
trace("newX = "+_root["newx"+i]+" newZ = "+_root["newz"+i]);
}


udaaff 13.08.2009 00:39

Если работает первый вариант, второй тоже должен работать при условии, что переменные в _root. Ищите ошибку в другом месте.

apoptom 13.08.2009 01:10

вот что я нарыл
aa1x=1
theta=1
aa1z=1
aa1.text=_root["newz"+1]=(-(_root["aa"+1+"x"]))*Math.cos(theta)+(_root["aa"+1+"z"])*Math.sin(theta)
aa2.text=_root.newz1=(-_root.aa1x)*Math.sin(theta)+(_root.aa1z)*Math.cos(theta)
а результат
аа1.text=0,3
аа2.text=-0,3
вопрос- почему?

Xero201 13.08.2009 01:35

наверное потому, что косинус - четная функция, а синус - нечетная

iNils 13.08.2009 01:38

Три плюса = бан.


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

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