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

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

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

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Question Открытие страницы по кнопке (не выходит)

Делаю уже не знаю какой раз. На остальных кнопках работает, а на этой нет.
Пишу:
Код:
on (rollOver) {
		this.gotoAndPlay("over");
}
on (releaseOutside, rollOut) {
		this.gotoAndPlay("out");
}
on (release) {
	loadMovieNum ("soc.swf", 1)
}
А мне в ответ:
Код:
**Ошибка** Символ=button copy 4, слой=Layer 4, кадр=1:Строка 1: Mouse events are permitted only for button instances
     on (rollOver) {

**Ошибка** Символ=button copy 4, слой=Layer 4, кадр=1:Строка 4: Mouse events are permitted only for button instances
     on (releaseOutside, rollOut) {

**Ошибка** Символ=button copy 4, слой=Layer 4, кадр=1:Строка 7: Mouse events are permitted only for button instances
     on (release) {

Общее количество ошибок ActionScript: 3 	 Сообщенные ошибки: 3
Почему на остальных кнопках это работает, а здесь нет? Кнопку надо переделать или что?
Спасибо

P.S. Если я правильно поняла сообщение, то я что-то напортачила с кнопкой, но что?


Последний раз редактировалось Opinio; 23.08.2007 в 15:41.
Старый 23.08.2007, 16:28
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
В Publish Settings поставили пятый плеер. В пятом плеере такой код можно было писать только на кнопки (Button), нельзя на клипы
Если это у Вас кнопка (другие же както работают), то возможно, Вы случайно поменяли тип этого экземпляра. На панели свойств (внизу экрана) в левом верхнем углу в селекторе должно быть написано Button а не Movie Clip
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 23.08.2007 в 16:33.
Старый 24.08.2007, 00:20
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 3  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
У меня русифицированный.
Пишет: "кнопка" и в центре "отслеживать как кнопку", но при этом все таже ошибка.
Попробовала на всякий случай настройки публикации поменять на разные версии, но таже ошибка.
А остальные как работали, так и работают (тьфу-тьфу-тьфу)! Чудеса...
__________________
Вы звали?

Старый 24.08.2007, 00:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Выложи исходник.

Старый 24.08.2007, 01:29
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 5  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Оппа. Вложение 17530
Как-то так.
Проблема с button4, как я понимаю, остальные нормально работают.
__________________
Вы звали?


Последний раз редактировалось Opinio; 25.08.2007 в 22:41.
Старый 24.08.2007, 01:45
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ага. Надо зайти в этот самый button copy 4 и удалить нафиг скрипт, который висит в кадре. Вы его по-ошибке туда впастили, точно такой же висит на кнопке (где ему и место), а этот удалите.
---------
честно сказать, я бы еще замечаний 80 сделал (даже не по скрипту) но это как хотите.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 24.08.2007 в 01:53.
Старый 24.08.2007, 01:52
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 7  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Действительно!
Wolsh, udaaff - спасибо Вам огромное!
---------
Wolsh, я согласна на 80 замечаний (если Вам это легко).
Это, скажем так, я только учусь, и буду рада любым комментариям, чтобы на потом и сейчас получалось лучше!
__________________
Вы звали?


Последний раз редактировалось Opinio; 24.08.2007 в 01:59.
Старый 24.08.2007, 23:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ОК, тогда начнем.
1) Transmatika: Исходная картинка (битмап) значительно больше видимой. Вы ее ужали инструментом Free Transform. В результате - искажения.
2) Картинка больше - она больше весит. Сделайте того размера, что Вам надо - избавитесь от искажений и уменьшите вес конечного файла. Если в данном случае Вам это кажется некритичным, то при создании банера, например, Вам пришлось бы отказаться от чего-то еще, чтобы влезть в размер файла. Приучите себя по-минимуму искажать картинки, только если требуется анимация увеличения-уменьшения, и всегда готовить картинки требуемого размера, а не доводить его во флэше.
3)Если всеже есть такая необходимость искажать картинку, ставьте галочку Allow smoothing (Разрешить сглаживание) в свойствах картинки (правый клик на картинке в библиотеке - Свойства). *В шестом плеере (кажется) не работает.
4)Нелепо писать на битмапе для флэша простой плоскоцветный текст. Флэш сам неплохо пишет текст. При этом его вес в разы меньше того, что на битмапе, и остается возможность как угодно его редактировать - перемещать, раскрашивать, менять шрифт. Обратите внимание - если Вы уберете с картинки текст и оставите только фон, то сможете сохранить картинку в фотошопе с качеством, близким к нулю - и она не будет выглядеть убитой при весе в несколько килобайт. Если у Вас подобный текст на картинке - Вы вынуждены ставить высокое качество джипега, чтобы избежать искажений на контрастных линиях. Увеличение веса минимум в 10 раз гарантировано.
5)Если брать Ваш случай, то и линейные размеры фона можно сократить раз в пять и замостить прямоугольник полученным сэмплом - там всёравно только рельефный шум. Рисуете во Флэш прямоугольник и выбираете тип заливки битмап. Вам предложат на выбор те картинки, что есть в библиотеке. Если выбранная картинка меньше прямоугольника, она будет механически повторена (как делают фон на хтмл-страницах). Так что Вам хватило бы квадратика 50х50 с этим шумом, а это меньше килобайта. *Возможно понадобится его доработать в фотошопе чтобы края сливались без видимых границ.
6)Непонятно, зачем было делать из этого мувиклип. Никакие свойства мувиклипов Вы с этой картинкой не используете. Но, возможно, собирались использовать в будущем
8) Оранжевый прямоугольник.Такой градиент легко делается во флэш и весит ну просто космически меньше, оставляя, опять же, простор для редактирования.

В библиотеке полный бардак.
8) Зачем Вам четыре одинаковых битмапа (стрелочка)? На то она и библиотека, что одну книжку там могут читать все. Одну стрелочку Вы можете использовать где угодно, просто затащив ее на поле из библиотеки.
9)Вам пришлось сделать четыре копии СИМВОЛА кнопки, совершенно идентичных, за исключением одной строчки в коде. Эту ситуацию изжили в 2000 году, когда перестали писать код на кнопках и появился Action Script. Лет через пять этот пережиток вообще перестанут поддерживать, а сейчас на этом форуме Вам каждый напомнит, что так писать нельзя. Очень плохо развивать в себе привычку, от которой, поверьте, Вам однозначно придется отказаться. Это прошлый век и мертвый язык, очень ограниченный по своим возможностям.
Давайте так. Представьте себе три спичечных коробка. Вы кладете в каждый по записке - 1. В этот коробок класть пугафки, 2. В этот коробок класть булафки, 3. В этот коробок класть наперстки. После этого Вам даже чтобы узнать, в каком коробке чего лежит, надо все эти коробки открыть и прочитать записки. И так каждый раз. А теперь второй вариант - три коробка, на каждом написан номерок, а на стене висит листочек: в коробок 1 класть пугафки, в коробок 2 класть булафки, в коробок 3 класть наперстки. Наперстков оказалось мало - подписали - и бусинки. Почувствуйте разницу.
__________________
Reality.getBounds(this);

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

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Wolsh, спасибо большое. Я постараюсь сделать по-другому.
Скажу честно, это первое, что я делаю во Флеше, поэтому, наверно, и такие проблемы.
А если не секрет: это всё или ещё можно как-то прокомментировать?
P.S. Сделала копию Вашего сообщения.
__________________
Вы звали?

Старый 26.08.2007, 01:59
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Для первого раза совсем неплохо (впрочем я не верю что это первое может быть первое в смысле проекта). Но я обещал 80 замечаний, так что по закону льва Иван Иваныча должен хотя бы 40 сделать. Так что продолжим, пожалуй. Не забудьте откомментировать, чтобы я мог продолжить - два сообщения подряд на этом форуме не приветствуются, а собирать в одну "портянку" неэстетично.
10) В библиотеке позволяется не только создавать папки для удобной сортировки символов, их можно также переименовывать, давая "говорящие" названия - такие, по которым Вы сразу сможете глазами найти то, что Вам нужно. Ориентироваться в библиотеке, где все называется "Символ 23", просто невозможно. Назовите все по-человечески, можно даже по-русски, и Вам самой станет легче.
11) Зацикливание анимации. Симбол 51 - шкала эквалайзера.
Вы пытались сделать непрерывно двигающиеся столбики, и чтобы они к концу цикла принимали то же положение, что и вначале, Вы скопировали первые кадры в последние. Ошибка в том, что теперь у Вас при непрерывном проигрывании два последовательных кадра - одинаковые. Возникает как бы задержка. Может быть для музыки это означает ритм, но в других ситуациях (а они бывают очень часто) такой номер не пройдет. Что нужно сделать? Сделать теперь предпоследние кадры последними. Выделить их и конвертировать в ключевые, потом удалить последние. Так Вы получите непрерывный цикл. Не спешите это делать, прочитайте п.12
12) Вам нужно, чтобы сначала эти столбики не двигались, а включались когда заиграет музыка. Вы поставили stop() в первом кадре, но тогда столбики играют только один цикл, и стоп Вы удалили, сделав вместо этого еще один - статичный - мувик из одного кадра. Нужно было всего-лишь в последнем кадре поставить команду gotoAndPlay(2);
и цикл стал бы непрерывным. Переделывать предпоследние кадры в последние при этом, понятное дело, не надо.
13) Еще грамотней эту ситуацию решить с помощью скрипта. Помните про коробки и листочек? Сейчас у Вас везде код в коробках. И этот стоп() создает столько проблем именно поэтому. Можно было просто дать всему этому клипу имя (на панели свойств - внизу окна - в правом углу есть поле для ввода этого имени, когда экземпляр находится на стейдже и выделен) - напр. scala_mc. И тогда в кадре (не внутри коробка, а снаружи) пишете scala_mc.stop(); Это его начальное состояние. Когда будет нужно, чтобы столбики забегали, скомандуйте scala_mc.play();
Вот так всё просто. Но кадры-таки придется переделать.
14) Статичный мувик, который я упоминал, Вы создали странным способом. Вы сделали дубликат Символа 51 и удалили все кадры с анимацией, оставив только первые. Можно было затащить Символ 51 на стейдж и нажать Ctrl+B (разбить). Получится простой однослойный шейп из первого кадра. Этот прием Вам сто раз пригодится в будущем.
15) Copyright ©Transmatika.com
Значек © и означает Copyright. Что-то одно здесь лишнее. Иногда пишут Copyrights: ©My Fazer '1993, ©My Mazer '1993 Т.е. в случае перечисления правовладельцев это уместно как заголовок списка, но не более.
16) Этот копирайт у Вас тоже в отдельном мувике. Так и не понял - зачем?
17) Видите какой он ломаный? Вы сделали Динамическое текстовое поле. Это такой тип поля, в котором текст ВЫВОДИТСЯ скриптом динамически. Т.е. подсчитали например, что два арбуза плюс три получается пять - вывели 5 в динамическом текстовом поле. Оно для результатов вычислений. Поскольку неизвестно заранее, какие символы там будут отображаться, а шрифт, содержащий ВСЕ возможные символы, довольно много весит, считается что данные в этом поле будут отображаться тем шрифтом, который есть на компутере пользователя. Поэтому по-умолчанию в таком поле шрифт не сглаживается, т.к. чтобы сгладить букву, флэшу надо преобразовать ее в свой вектор. Такое возможно только в Статических текстовых полях, когда буквы известны до компилляции. Они преобразуются в векторные картинки-шейпы. Именно такой тип поля Вам и надо было выбрать в этом случае. Статический.
18) Однако и в динамическом поле можно показывать сглаженный текст при определенных условиях. Если Вы заранее знаете, что там будут, например, только цифры, Вы можете указать Флэшу включить эти символы в конечный файл, и при компилляции будут созданы 10 шейпов цифр того шрифта, который Вы указали, и только в том начертании, какое Вы указали для этого поля в инспекторе свойств. Т.е. жирное или наклонное - вы не сможете поменять их в ходе работы флэшки. Только один вариант начертания навсегда. Зато на любом компьютере это будет выглядеть одинаково. У меня, например, нет на компе Гельветики.
Для указания, какие символы надо включить для этого поля, нажмите кнопочку Embed (не знаю как в русском переводе назвали).
19) Практически все элементы в Вашем проекте не установлены "в ноль".
Пока двигаешь все руками, это не вызывает особых проблем, разве что картинки могут показываться "битыми", шрифты - ломаными, мелкие векторные рисунки - расплывчатыми, а линии - как будто двойными. У всего этого одна причина - при показе на экране изображение в принудительном порядке становится растровым - состоит из маленьких прямоугольничков-пикселей. Эти пиксели - атомы изображения, и делиться больше уже не могут. Выражение "на пол-пикселя влево" - это юмор такой. Полпикселя не бывает. Но только не во Флэше.
Флэш - векторная программа, предполагающая свободное масштабирование. Здесь координата или ширина прямоугольника 250.17 пикселя - обычное дело. Но если Вы хотите, чтобы все линии в вашей флэшке были четкими, ставьте только целые координаты. Тогда при отображении Флэш не будет подрисовывать к линии еще одну полупрозрачную, пытаясь показать, что она на пол-пикселя левее
20) Выражение "ставить в ноль" означает также, что внутри вложенных клипов основной элемент должен иметь координаты х=0.0 и у=0.0
Причину Вы поймете, как только начнете что-либо двигать не руками, а скриптом. Т.е. когда Вам действительно станут нужны координаты ваших объектов. Если у Вас в клипе my_mc нарисован прямоугольник, Вы само-собой предполагаете, что написав в скрипте my_mc._x = 10, my_mc._y=10, увидите прямоугольник в левом верхнем углу с отступом 10. Однако, если Вы не позаботились поставить этот прямоугольник в ноль внутри клипа my_mc, то увидите его совсем в другом месте (а может и вовсе не увидите) Развивайте привычку ставить в ноль, она - правильная.
__________________
Reality.getBounds(this);

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

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

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


 


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


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