Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Web-мастер"


Технологии web-програмирования


 #0 Deep © 19.04.07 17:17:59 - 24.04.07 20:10:41

Flash ликбез для чайника



подскажите как получить (если можно) в флешке...
1)текущий урл браузера
2)реферер (ссылку на страницу с которой, мы попали на текущую ) Цитата

 #1 VictorT © 19.04.07 19:18:57

Если не ошибаюсь, в самом флеше такого нет, но флеш может выполнять JavaScript, с помощью которого и можно получить эти данные.
Подробностей не подскажу.
 #2 Лысый © 19.04.07 19:58:00

Уже, вродь, решили вопрос.
 #3 Deep © 20.04.07 00:24:17

15 ошибок начинающих Flash-программистов

1. Равенство в условиях обозначается двойным равенством, поэтому код if (i=1){} работать не будет. Правильный вариант кода if (i==1){} Это ошибка многих начинающих программистов.

2. Когда команды пишутся вручную, очень важно соблюдать регистр. Регистр в Flash'е имеет значение! Поэтому команда gotoandplay() не будет работать, правильный вариант: gotoAndPlay().

3. Комментарии. Комментарии в программном коде вводятся знаком двойного слеша //, но действуют только на одну строку, нельзя об этом забывать. На каждой строке нужно повторять этот символ.

4. Команда removeMovieClip() удаляет только те мувиклипы, которые не были созданы вручную, то есть те, которые появились в результате использования команд duplicateMovieClip() и attachMovie().

5. Динамическое текстовое поле. Содержание поля Var не является названием динамического поля. Чтобы обратиться к текстовому полю, нужно сначала ввести имя в его instance name. Использовать в программном коде нужно с определением типа переменной. Например, название поля mytext. Если мы хотим, чтобы изначально в поле mytext было написано "Мой текст". то нужно написать mytext.text = Мой текст. Это один из способов, можно так же в поле Var задать переменную, например myvar, и в кадре написать myvar = "Мой текст".

6. Сцены. Со сценами Flash часто работает некорректно, поэтому лучше содержание каждой сцены включить в отдельный кадр, который находится на главной сцене. Если же вы всё-таки пользуетесь сценами, то учтите, что сцены созданы для облегчения создания анимации, но никак не участи программиста. Кадры, например, нумеруются с начала 1-ой сцены, а не с начала каждой, как принято полагать.

7. Расположение кода. Очень часто новички предпочитают располагать код непосредственно на мувиклипах и кнопках, но вместе с тем, первый признак профессионализма - расположение всего кода в одном кадре. Действительно, располагая код в одном кадре, становятся очевидными все ошибки и недочёты кода, всё исправляется намного быстрее, чем если бы вы искали свой код, разбросанный по разным местам.

8. Обращение к кнопкам. Многие пытаются обратиться к кнопкам, но это абсолютно бесполезно, так как кнопки на это не реагируют. Что же делать? Как же быть? Нужно из мувиклипа сделать кнопку и обращаться к мувиклипу как к кнопку. Для этого нужно использовать такие функции, как onRelease, onRollOver.

9. Злоупотребление onEnterFrame. Эта команда достаточно сильно грузит процессор и тем самым тормозит работу компьютера, так как эта команда выполняет те или иные действия, симулируя проигрывание этого кадра снова и снова. То есть если у вас fps (кадры в секунду) равняется 30, то проверка проводится каждые 30 миллисекунд, а это очень существенно для процессора.

10. Названия переменных, мувиклипов и всего остального. Это достаточно спорный вопрос, но всё же есть какие-то официально принятые ограничения и рекомендуемые. Сначала официальные - нельзя называть мувиклипы именами, которые начинаются с цифры. Нет, назвать вы конечно можете, но обратиться к ним вам не удастся. Это частая ошибка начинающих. Если у вас есть несколько одинаковых мувиклипов, и вы хотите назвать их по порядку (в instance name), то не следует вводить "1", "2", "3". Правильный вариант: "mc1", "mc2", "mc3". Теперь рекомендуемые: называйте переменные осмысленно, или используйте бессмысленные названия переменных, которые имеют что-нибудь общее, а то быстро запутаетесь в переменных, что за что отвечает. Мувиклипы и кнопки рекомендуется называться соответственно my_mc и my_btn. Но повторяю, это достаточно спорный вопрос.

11. Метод attachMovie(). Этот метод переносит программно мувиклип из библиотеки на сцену. У новичков часто возникает проблема с Linkage - имя, которое следует ввести в команде attachMovie(). Часто начинающие программисты считают, что это имя и имя мувиклипа - это одно и то же. Смею вас огорчить, это совершенно разные вещи. В команду attachMovie() нужно ввести имя Linkage мувиклипа. Чтобы его задать, нужно выделить мувиклип в библиотеке и выбрать Правая кнопка - Linkage (Связь), ввести имя и отметить галочками пункты Экспорт в ActionScript и экспорт в 1-ый кадр. Тогда всё будет работать.

12. Различные типы переменных. Часто путаются числовые и текстовые переменные, которые выглядят как первые. Например, если вы с помощью charAt() узнаёте номер мувиклипа для последующих действий, не забудьте после этого использовать команду Number(), чтобы изменить тип переменной на числовой. Из-за этого может не работать весь программный код ролика.
 #4 Deep © 20.04.07 00:24:45

13. Комментарии. Иногда полезно их использовать, чтобы не потеряться в своём коде. Как их вводить мы рассмотрели в пункте 3, сейчас рассмотрим, в каких случаях они необходимы. Например, у вас есть 4 условия вложенных одно в другое. Представляете, сколько будет закрывающих скобок? Если используются такие условные операторы как if, else, if else. Не меньше 10-15 скобок...

14. Команда delete. Очень многие программисты просто не знают про её существование и соответственно никогда не используют, а зря. Эта команда позволяет удалять различные функции, которые уже не могут понадобиться. Например, функция onEnterFrame. Как было сказано выше, она тратит много ресурсов процессора. А если их несколько... Если какие-то из них уже не нужны, то можно их удалить с помощью этой команды. Синтаксис очень простой: delete this.onEnterFrame.

15. Очень распространённая проблема с сохранением каких-либо переменных в файл. Flash поддерживает эту возможность, это недокументированная команда. Сохраняет он данные в специальный файл (не текстовый, а своего разрешения) и оттуда же считывает их. Как использовать SharedObject() (а именно так называется эта команда) мы рассмотрим в одной из ближайших статей. Можно только сказать, что там довольно много различных нюансов... Многие, кто даже знает о существовании этой команды, не могут использовать её корректно.
 #5 Deep © 20.04.07 14:47:42

Подскажите, можно ли в флеше создавать "резиновые" блоки?
Т.е. Нужно создать елемент для отображения блока текста динамического размера. Причем ширина такого блока должна быть постоянной, а высота должна автоматически увеличиваться так, чтобы отображать текст без прокрутки.

Это реально?
 #6 Лысый © 22.04.07 19:50:05

Реально

Просто ради того, чтобы узнать есть ещё кто-то на форуме кто может ответить, я отвечать не буду. Мне просто интересно для кого ты тему создал.
 #7 Лысый © 22.04.07 20:12:16

2. Когда команды пишутся вручную
Для таких ситуаций есть подсветка синтаксиса

3. ...но действуют только на одну строку
/*...*/ никто не отменял

5. Содержание поля Var не является названием динамического поля
насчёт это не знаю, но к var гораздо проще обращаться

6. ...поэтому лучше содержание каждой сцены включить в отдельный кадр,
кому лучше? я бы не сказал, что сцены это модная штука, но иногда использую. К примеру прелоадер и всё остальное иногда размещаю по разным сценам, чтобы не мешало.

7. Расположение кода.
Очень спорное изречение.

8. Обращение к кнопкам.
Выкрутасы, которые нужны совсем не новичкам. Повешал всё на кнопку, забив на п.7 и забыл.


9. Злоупотребление onEnterFrame.
это да. Но его можно удалять и в большинстве случаев это дело могут заменить слушатели.

14
вот собсно о чём я и говорил

15
всё равно всем рекомендую использовать нефлэшовые методы

 #8 Deep © 22.04.07 22:05:57

>#6 Лысый  © 22.04.07 21:50:05
> Реально

Ну, если реально, теперь бы еще узнать КАК это можно сделать.

> Просто ради того, чтобы узнать есть ещё кто-то на форуме
> кто может ответить, я отвечать не буду.

мне непонятна логика твоего ответа

>  Мне просто интересно для кого ты тему создал.
Для себя, и для таких же как я чайников.



 #9 Лысый © 22.04.07 22:44:46

что ты с фоном наделал?

>мне непонятна логика твоего ответа
от кого на форуме ты собирешься получить ответ?
 #10 Deep © 23.04.07 00:17:21

>#9 Лысый ©
От того, кто его знает.
 #11 Лысый © 23.04.07 12:20:57

а, ну ок
 #12 Deep © 24.04.07 01:30:32

>#11 Лысый ©
все еще актуален вопрос о прорисовке во флешке динамического текста цветом который задается параметрически(цвет заранее не известен, значение цвета находится в переменной). Буду благодарен за подсказки.
 #13 Deep © 24.04.07 01:48:53

Еще вопрос: можно ли сделать всплывающие подсказки для графических/текстовых элементов флешки?
+1 к репутации автора  #14 Лысый © 24.04.07 19:58:43



читаем про TextFormat.color, там же есть пример

Насчёт подсказок - делаешь мувик, привязываешь к курсору, при наведении на объект делаешь его видимым.
 #15 Deep © 24.04.07 20:10:41

> Насчёт подсказок - делаешь мувик
а если подсказка должна выходить за пределы самой флешки?
т.е. сама флешка маленькая, а подсказка должна быть большой...    




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов