![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
А цикла вам и не надо. setInterval будет вызывать время от времени функцию, которая рисует линии, а внутри этой функции проверять количество вызывов. И при достижении 200, вызывать clearInterval.
|
|
|||||
|
Banned
[+4 30.05.07]
Регистрация: May 2007
Сообщений: 10
|
Язык для анимации - а элементарной задержки нету....
|
|
|||||
|
Цитата:
|
|
|||||
|
Banned
[+4 30.05.07]
Регистрация: May 2007
Сообщений: 10
|
Задумка хороша, но увы - орфографическая ошибка...
Внутри точка с запятой - флеш ругается и падает - в лучшем случае... Ща попробую прикрутить иначе... А вообще, господа умы флеша, тут мне один чел подсказал, следующее: 0) В первый: x=0; y=0; xxxx=0; 1) Пишете во второй фрейм скрипт выводящий одну линию (2) - moveTo(x1,y1); - lineTo(x2,y2); 2) В третий (3): if (x234 && y234 == 300)
{
stop ();
}
esle {
setInterval (xxxx, 1000)
function (xxxx)
{
clearInterval (xxxx);
goToAngPlay (2);
}
Можно "обойти", но обидно конечно что нет банальной функции delay(); А то можно было бы всё на одном фрейме собрать - печально и гиморно.. А прикинте терь сцену из скажем 1000 кадров.. каждый раз так гимороится... Последний раз редактировалось iNils; 29.05.2007 в 13:39. |
|
|||||
|
??? кто-то тормозит... Ингеборга, если ты не умеешь пользоваться AS - это абсолютно не значит, что он плохой.. почему нельзя сделать типа так:
вот те все в одном кадре и рисовать будет по одной линии каждую 1000мс... врзможно конечно есть пара ошибок, но я думаю сам исправишь. И delay, кстати, считается самой неудачной функцией во всех языках программирования и све рекоммендуют использовать ее только на начальных стадиях проэктирования программы, так что забудь про нее!!! |
|
|||||
|
и не надо использоваться setInterval ради создания задержки - это маразм, причем абсолютно нерабочий.
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Ингеборга, вы упорно не жалаете читать, то что вам пишут. Это не флеш не умеет делать то что вы хотите, а вы.
var i:Number = 0;
var limit:Number = 200;
var id:Number = setInterval (this, "drawLine", 10);
var mc:MovieClip = _root.createEmptyMovieClip ("test66", 1);
function drawLine () {
mc.lineStyle (1, 0xFF9900, 99 - (i / 2));
mc.moveTo (20, 300 - i);
mc.lineTo (40, 300 - i);
if (++i == limit) {
clearInterval (id);
}
}
/////////////
import mx.transitions.Tween;
import mx.transitions.easing.None;
import flash.geom.Matrix;
import mx.utils.Delegate;
var mc2:MovieClip = _root.createEmptyMovieClip ("test67", 2);
var matrix:Matrix = new Matrix ();
matrix.createGradientBox (20, 200, -Math.PI / 2, 0, 100);
var tween:Tween = new Tween (this, "y", None.easeNone, 0, 199, 2, true);
tween.onMotionChanged = Delegate.create (this, drawLine2);
function drawLine2 () {
mc2.clear ();
mc2.beginGradientFill ("linear", [0xFF9900, 0xFF9900], [99, 0], [0, 0xFF], matrix);
mc2.moveTo (20, 300);
mc2.lineTo (40, 300);
mc2.lineTo (40, 300 - y);
mc2.lineTo (20, 300 - y);
mc2.lineTo (20, 300);
mc2.endFill ();
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|