Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.05.2007, 19:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 11  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А цикла вам и не надо. setInterval будет вызывать время от времени функцию, которая рисует линии, а внутри этой функции проверять количество вызывов. И при достижении 200, вызывать clearInterval.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.05.2007, 19:03
Ингеборга вне форума Посмотреть профиль Найти все сообщения от Ингеборга
  № 12  
Ответить с цитированием
Ингеборга
Banned
[+4 30.05.07]

Регистрация: May 2007
Сообщений: 10
Язык для анимации - а элементарной задержки нету....

Старый 28.05.2007, 19:04
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 13  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Ингеборга
Язык для анимации - а элементарной задержки нету....
Она не нужна.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.05.2007, 19:08
BigDan вне форума Посмотреть профиль Отправить личное сообщение для BigDan Найти все сообщения от BigDan
  № 14  
Ответить с цитированием
BigDan
 
Аватар для BigDan

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
Цитата:
Сообщение от Ингеборга
Язык для анимации - а элементарной задержки нету....
я ж тебе написал код елементарной задержки.

Старый 29.05.2007, 11:00
Ингеборга вне форума Посмотреть профиль Найти все сообщения от Ингеборга
  № 15  
Ответить с цитированием
Ингеборга
Banned
[+4 30.05.07]

Регистрация: May 2007
Сообщений: 10
Цитата:
Сообщение от BigDan
Задержка:
Код:
SI = setInterval(function {clearInterval(SI);},1000);
Задумка хороша, но увы - орфографическая ошибка...
Внутри точка с запятой - флеш ругается и падает - в лучшем случае...
Ща попробую прикрутить иначе...

А вообще, господа умы флеша, тут мне один чел подсказал, следующее:
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);
          }
Вот. Ну типа так. Получается сцена из 3x кадраффф... frames
Можно "обойти", но обидно конечно что нет банальной функции delay();
А то можно было бы всё на одном фрейме собрать - печально и гиморно..

А прикинте терь сцену из скажем 1000 кадров.. каждый раз так гимороится...


Последний раз редактировалось iNils; 29.05.2007 в 13:39.
Старый 29.05.2007, 13:25
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 16  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
??? кто-то тормозит... Ингеборга, если ты не умеешь пользоваться AS - это абсолютно не значит, что он плохой.. почему нельзя сделать типа так:
Код:
var x:Number = 0;
var y:Number = 0;
var step:Number = 0;
var max_step:Number = 300;
var interval:Number = setInterval(drawFunc, 1000);
function drawFunc():Void {
  _root.mc.lineTo(x,y);
  x+= 10; y+=10;
  _root.mc.lineTo(x,y);
  ...
  _root.mc.endFill();
  ++step;
  if (step>300) clearInterval(interval);
}
вот те все в одном кадре и рисовать будет по одной линии каждую 1000мс... врзможно конечно есть пара ошибок, но я думаю сам исправишь. И delay, кстати, считается самой неудачной функцией во всех языках программирования и све рекоммендуют использовать ее только на начальных стадиях проэктирования программы, так что забудь про нее!!!

Старый 29.05.2007, 13:26
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 17  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
и не надо использоваться setInterval ради создания задержки - это маразм, причем абсолютно нерабочий.

Старый 29.05.2007, 13:35
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 18  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: 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 ();
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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