Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   программное рисование (http://www.flasher.ru/forum/showthread.php?t=54476)

menik 06.02.2004 17:04

программное рисование
 
Не подскажете ли какой доки по грамотному программному рисованию с использованием AS?
И более конкретный вопрос: Как проще и правильнее решить такую задачу:
Нарисовать анимацию... цилиндр к примеру, высота которого плавно увеличивается от 0 до заданной величины.
(Фигура должна быть не примитивной - хотя бы цилиндр, но не простая линия, то есть что-то вроде
....onEnterFrame = function(){...height+=5; lineTo (0, height)... не подходит)

opex 06.02.2004 20:15

такая анимация подойдет
Код:

x = [0, 20, 100, 20, 0, -20, -100, -20, 0, 0];
y = [-100, -20, 0, 20, 100, 20, 0, -20, 0, 0];
z = [0, 0, 0, 0, 0, 0, 0, 0, 20, -20];
var smihX = 250, smihY = 250, s = 400, r = Math.PI/180, pX = 1, pY = 2;
onEnterFrame = function () {
        pX = -(smihX-_ymouse)/50;
        pY = (smihY-_xmouse)/50;
        clear();
        for (i=0; i<24; i++) {
                cosX = Math.cos(pX*r);
                sinX = Math.sin(pX*r);
                cosY = Math.cos(pY*r);
                sinY = Math.sin(pY*r);
                ky = y[i]*cosX-z[i]*sinX;
                kx = x[i]*cosY+(y[i]*sinX+z[i]*cosX)*sinY;
                kz = -x[i]*sinY+(y[i]*sinX+z[i]*cosX)*cosY;
                x[i] = kx;
                z[i] = kz;
                y[i] = ky;
        }
        lineStyle(0, 0x000000, 50);
        // 1
        moveTo(smihX+x[0]*(s/(s+z[0])), smihY+y[0]*(s/(s+z[0])));
        for (i=1; i<8; i++) {
                lineTo(smihX+x[i]*(s/(s+z[i])), smihY+y[i]*(s/(s+z[i])));
        }
        lineTo(smihX+x[0]*(s/(s+z[0])), smihY+y[0]*(s/(s+z[0])));
        moveTo(smihX+x[0]*(s/(s+z[0])), smihY+y[0]*(s/(s+z[0])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[1]*(s/(s+z[1])), smihY+y[1]*(s/(s+z[1])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[2]*(s/(s+z[2])), smihY+y[2]*(s/(s+z[2])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[3]*(s/(s+z[3])), smihY+y[3]*(s/(s+z[3])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[4]*(s/(s+z[4])), smihY+y[4]*(s/(s+z[4])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[5]*(s/(s+z[5])), smihY+y[5]*(s/(s+z[5])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[6]*(s/(s+z[6])), smihY+y[6]*(s/(s+z[6])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[7]*(s/(s+z[7])), smihY+y[7]*(s/(s+z[7])));
        lineTo(smihX+x[8]*(s/(s+z[8])), smihY+y[8]*(s/(s+z[8])));
        moveTo(smihX+x[0]*(s/(s+z[0])), smihY+y[0]*(s/(s+z[0])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[1]*(s/(s+z[1])), smihY+y[1]*(s/(s+z[1])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[2]*(s/(s+z[2])), smihY+y[2]*(s/(s+z[2])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[3]*(s/(s+z[3])), smihY+y[3]*(s/(s+z[3])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[4]*(s/(s+z[4])), smihY+y[4]*(s/(s+z[4])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[5]*(s/(s+z[5])), smihY+y[5]*(s/(s+z[5])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[6]*(s/(s+z[6])), smihY+y[6]*(s/(s+z[6])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
        moveTo(smihX+x[7]*(s/(s+z[7])), smihY+y[7]*(s/(s+z[7])));
        lineTo(smihX+x[9]*(s/(s+z[9])), smihY+y[9]*(s/(s+z[9])));
};

а доки иши по адресу доки

Штрек 06.02.2004 22:12

Не думал, что ты такой наглый -
три окна всплывает - :mad: - сразу все позакрывал. :mad:

Пушистик 06.02.2004 22:30

Орех, ну ты и ****...
после такого - тя тока и игнор... :mad:

Sanik 07.02.2004 00:01

Да,по ходу ,пакость какая то... И что интересно, хотел выйти по ссылке в подписи у Вебмастер Ила на www.il.sib... ,а там таже фуйня... Тоесть,везде таже ссылка ,что и у Ореха!!!
Сдается мне,что кто то балуется... И оч жестоко...

nuran 07.02.2004 12:34

добро пожаловать в игнор лист, тов. Opex.

webmaster IL 07.02.2004 13:05

Цитата:

Оригинал написал(а) Sanik
Да,по ходу ,пакость какая то... И что интересно, хотел выйти по ссылке в подписи у Вебмастер Ила на www.il.sib... ,а там таже фуйня... Тоесть,везде таже ссылка ,что и у Ореха!!!
Сдается мне,что кто то балуется... И оч жестоко...

мой девиз .. СВОИХ ЗНАЙ В ЛИЦО !!! ХЫ.. ХЫ ХЫ ... :D
тока банить вот меня не надо :D i am just ... play game ;)

nuran 07.02.2004 13:10

чего, модераторы постарались или что?

Sanik 07.02.2004 13:17

Ил говорит,что это он постарался...

opex 07.02.2004 15:52

я конечно извеняюсь но это игра и если меня забанят на форумем я серовно буду просто под другой кличкой так что по барабану


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

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