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

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

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

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от samana Посмотреть сообщение
Или если таки матрицу то i-рядов, j-столбцов

Код AS3:
for(var i=0;i<5;i++){
	for(var j=0;j<10;j++){
		var clip:Clip=new Clip();
		clip.x=clip.width*j;
		clip.y=clip.height*i;
		addChild(clip)
	}
}
Во первых не надо создавать переменную внутри цикла. Лучше ее задать до цикла, а внутри цикла писать:
Код AS3:
clip=new Clip();
Ну и тот вариант который я предложил, там со сложением, что быстрей, ну это для замороченных на скорости.

Старый 06.09.2010, 14:02
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 12  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Угу спасибо

Старый 06.09.2010, 15:17
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 13  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от Tr1te Посмотреть сообщение
Во первых не надо создавать переменную внутри цикла. Лучше ее задать до цикла, а внутри цикла писать:
Код AS3:
clip=new Clip();
Если не сложно, объясните почему, ведь всё равно эта переменная не пригодится, зачем её создавать не локально?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Создание переменной занимает время, если цикл достаточно большой, то это может сказываться на производительности.

Старый 06.09.2010, 16:23
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 15  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Tr1te, alatar, объявление переменной в цикле не криминал, по факту она все равно объявлена ранее в начале функции.

Старый 06.09.2010, 16:25
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 16  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
alatar, создание переменной происходит один раз в самом начале функции (независимо от места объявления var).
Скомпилируйте:
Код AS3:
trace(n); //NaN
var n:Number = 5;
Результат NaN получается из-за того, что происходит отделение "создания переменной" и "фактического присвоения ей значения".

В байткоде приведенного выше примера должен быть скомпилированный аналог:
Код AS3:
var n:Number;
trace(n); //NaN
n = 5;

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
alatar, создание переменной происходит один раз в самом начале функции.
Я в курсе, просто их головы вылетело.

Старый 06.09.2010, 18:12
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 18  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от etc Посмотреть сообщение
Tr1te, alatar, объявление переменной в цикле не криминал, по факту она все равно объявлена ранее в начале функции.
Помню раньше у меня компилятор на это ругался. это была не ошибка, а предупреждение, с тех пор я перестал так делать, и объявлял вне цикла.

Сейчас потестировал, и для памяти, и для времени, оба варианта идентичны. Тогда беру слова обратно.

Старый 06.09.2010, 18:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Tr1te Посмотреть сообщение
Помню раньше у меня компилятор на это ругался. это была не ошибка, а предупреждение, с тех пор я перестал так делать, и объявлял вне цикла.
Это был warning от FDT, подозреваю.

Старый 06.09.2010, 19:48
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 20  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
А почему нельзя снять просто битмапу с двух шейпов и создавать их?

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

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

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


 


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


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