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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.01.2007, 17:32
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 31  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
Цитата:
Сообщение от iNils
Все мое "о боже" не дает покоя? Я объясню.
Запись вида
Код:
_root[name[x][y]]
говорит о том, что значение элемента массива имеет тип String, и вместо того, чтобы напрямую получить ссылку к объекту, мы опять привязываемся непонятно к чему.
А, то Все понятно, конечно все так, просто есть такой инструмент и он работает именно там где надо превратить стринг в имя.

Цитата:
Сообщение от iNils
Это про то, что надо сделать:
Код:
var mc:MovieClip = _root.qqq.www.eee.rrr.ttt.yyy.uuu.iii;
а потом только можно mc использовать?
В этом куске я говорил про выборку линка, это пример с тайлами.
Код:
var mc:MovieClip = __tile[i][j];
вот тут вы задаете линк, с которым работаете далее. В случае с прямым обращением этого можно не делать.
А к чему этот вопрос?
Вы имеете ввиду запись в одну строку?
Код:
var mc:MovieClip =attachMovie(...
Но ведь в случае с полем тайлов мы так не делаем, потому что это и есть превращение квадратного в длинное.
Хочу еще раз отметить, я за линки двумя руками, я даже написал почему их надо использовать

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

Регистрация: Sep 2002
Сообщений: 30,787
Использование ссылки mc = __tile[i][j] предпочтительноее, потому что многократное прямое обращение кушает намного больше процессорного времени.
А ещё лучше использовать событийную модель. Т.е. контейнер кричит «Тайл 3,4, отзовись!». Все тайлы смотрят на свои иксы и игреки и тот, у которого совпадают с требуемыми, кричит обратно «Я здесь!».
Правда, я не проверял, быстрее-ли это прямого обращения по имени, но тем не менее, отвязка от имен лучше — опять же повышается мобильность.


Последний раз редактировалось etc; 03.01.2007 в 17:39.
Старый 03.01.2007, 17:47
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 33  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
Цитата:
Сообщение от __etc
Использование ссылки mc = __tile[i][j] предпочтительноее, потому что многократное прямое обращение кушает намного больше процессорного времени.
Теоретически возможно, практически вчера проверял, абсолютно одинаково. В цикле изменял альфы всех тайлов обоими методами. Время одно и то же, правда в случае с ссылками мы еще и массив теребим.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Leezard
правда в случае с ссылками мы еще и массив теребим.
Какой массив? По-моему, без ссылок мы как раз массив на каждой строке и теребим.

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

Регистрация: Oct 2004
Сообщений: 141
Цитата:
Сообщение от __etc
Какой массив? По-моему, без ссылок мы как раз массив на каждой строке и теребим.
Вот этот массив!
Код:
var mc:MovieClip = __tile[i][j];
Массив хранящий ссылки на тайлы.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Leezard
Вот этот массив!
Код:
var mc:MovieClip = __tile[i][j];
Массив хранящий ссылки на тайлы.
Мы создаем этут ссылку, когда собираемся обратится к клипу более одного раза, и таким образом повышаем быстродействие.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.01.2007, 18:22
Leezard вне форума Посмотреть профиль Отправить личное сообщение для Leezard Посетить домашнюю страницу Leezard Найти все сообщения от Leezard
  № 37  
Ответить с цитированием
Leezard
 
Аватар для Leezard

Регистрация: Oct 2004
Сообщений: 141
Цитата:
Сообщение от iNils
Мы создаем этут ссылку, когда собираемся обратится к клипу более одного раза, и таким образом повышаем быстродействие.
Вероятно вы правы.
А если только раз? К одному тайлу раз, и к соседним аналогично. Производительность у обоих методов будет равной. Вернее мы разницы не заметим. Ну вот видите друзья на счет ссылок можно записать еще один жирный плюс

Это как заказные убийства диких тушканов на хорошо знакомой вам местности.
В одном случае нам рассказывают как пройти к месту обитания тушкана
- "Из Гадюкино свернешь сразу налево, потом за вторым поворотом будет болото, за ним лес, прямо по просеке, на опушке - тушкан откликается на это имя ..." Дает бумажку на которой в стринговом формате написано "Гена". Мы это все в принципе знаем, но терпеливо слушаем, чтобы не обидеть заказчика. Приходим на опушку, достаем бумажку и гормко читаем - "Ге-е-ен-а-а";
В другом случае мы довольствуемся фотографией искомого тушкана в среде обитания. Вопросов где и кто не возникает.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Что вы к своим тайлам привязались? Есть всегда исключения, когда стоит сделать по другому, но надо помнить, что это исключения и для общих ответов они не подойдут.
А теперь представим, что что метод обработчик действий с тайлами, обрабатывает не конкретный клип с тайлами и различные. То есть мы дожны будет передавать путь до место положения тайлов, вместо того, чтобы дать ссылку на объект (экземпляр класса), а что именно с это ссылкой делать (обращаться к массиву) наш метод знает. Вот вам и первый шаг к ООП. Мы знаеть не знаем, где именно находятся и как именно называются наши тайлы.
В моем примере, если заметили имена у объектов были одинаковы ... вернее их нет.
Код:
__tile[x][y] = attachMovie ("tile", "",...
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Oct 2004
Сообщений: 141
Цитата:
Сообщение от iNils
Что вы к своим тайлам привязались?
Догадайтесь
Цитата:
Сообщение от iNils
Есть всегда исключения, когда стоит сделать по другому, но надо помнить, что это исключения и для общих ответов они не подойдут.
Золотые слова, это то что я пытался сказать все это время.
Цитата:
Сообщение от iNils
А теперь представим, что что метод обработчик действий с тайлами, обрабатывает не конкретный клип с тайлами и различные.
Бесспорно, именно поэтому у меня обращения выглядят условно так
Код:
mc[i+"_"+j]...
mc (контейнер) на самом деле зарыт очень глубоко. Имеет четкую спецификацию и фиксированные размеры.
И еще момент (исключения) флэш от сервера получает информацию о появившихся в локации особых объектах. Далее он присылает море информации об их действиях и модификациях. Например объект переместился, помер, сказал, упал, сбежал...
Каждый объект в рамках всей системы (сервер-клиент) имеет неповторимый идентификатор. Ну очень просто по приходу стринга от сервера обратиться к объекту mc[id], так просто и естественно, что я , каюсь, забил на мобильность кода. А учитывая что таких объектов может быть много, есть все же в этом некий момент удобства.
Цитата:
Сообщение от iNils
В моем примере, если заметили имена у объектов были одинаковы ... вернее их нет.
Код:
__tile[x][y] = attachMovie ("tile", "",...
Конечно заметил.

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
блин, народ и что вы к этой теме привязались? ведь все было отвечено на 1 странице...
З. Ы.: и как вы в выходные время находите что б тут отвечать
__________________
"We Are The Champions My Friends!" Queen

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

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

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


 


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


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