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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.10.2006, 16:03
Dimalar вне форума Посмотреть профиль Отправить личное сообщение для Dimalar Найти все сообщения от Dimalar
  № 1  
Ответить с цитированием
Dimalar
 
Аватар для Dimalar

Регистрация: Sep 2005
Сообщений: 99
По умолчанию Логика работы do while

Помогите разобраться в логике данного скрипта:

Код:
_root.mc3.onPress=function() {
	this.onEnterFrame=function() {
		do {
			this._height +=1;
			this._width +=1;
		} while (this._height<300 && this._width<500);
	}
}
Изначально размер клипа 40X40. Что присходит: размер клипа резко становится 500X300, после этого начинается его плавное увеличение.

Разве он не должен плавно увеличиваться до тех пор, пока размеры не станут 500X300, а затем остановиться?


Последний раз редактировалось iNils; 31.10.2006 в 16:09.
Старый 31.10.2006, 16:11
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
_root.mc3.onPress = function () {
	this.onEnterFrame = function () {
		var flag = 0;
		if (this._height < 300) {
			this._height += 1;
		} else {
			flag++;
		}
		if (this._width < 500) {
			this._width += 1;
		} else {
			flag++;
		}
		if (flag == 2) {
			delete this.onEnterFrame;
		}
	};
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.10.2006, 16:21
Dimalar вне форума Посмотреть профиль Отправить личное сообщение для Dimalar Найти все сообщения от Dimalar
  № 3  
Ответить с цитированием
Dimalar
 
Аватар для Dimalar

Регистрация: Sep 2005
Сообщений: 99
Спасибо большое, помогло!
И всё-таки интересно, почему do while не сработал?

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

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

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

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

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


 


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


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