10 Сообщения: 269 Зарегистрирован: 29.09.04 Откуда: Москва
Заголовок сообщения: Флэш в масштабируемой шапке Добавлено: 29 Август 2005, 16:15:13
дайте совет, пожалуйста.
Есть "резиновый" дизайн. Вся шапка проекта - это синева с облаками. Узкая полоса. (http://www.deda.ru/art/oblaka.jpg) Как это решить в "резине" - не вопрос. Но заказчик захотел анимацию облаков. И вот тут я призадумался...
Если дать ширину флэш-ролика в процентах, то на больших мониторах будут кошмарики.
Если часть анимировать, а все остальное просто "тянуть", то облака у меня буду растворяться в воздухе где-то на середине экрана.
Или в этом случае забыть о "резине"?
Спасибо за любой ответ чайнику.
_________________ = был рад поговорить с хорошими человеками =
Указывай в процентах — проблемы не вижу. Стоит указать max-width. в общем делай ролик шириной в 1000 пикселей и пусть облака плывут от начала и до конца. На больших разрешениях твоя флешка будет отображена полностью — все как и задумывалось. На меньших, облака просто будут уходить за грань раньше.
О каких кошмариках на больших мониторах ты говоришь?
пс. как я понял была такая проблема — если окно для флеша получается больше его физического размера, то появляются края флешки и облака начинают летать по белому фону. это решается с помощью max-width со значением физической ширины флешки.
109 Сообщения: 3234 Зарегистрирован: 25.11.04 Откуда: Москва
Добавлено: 30 Август 2005, 06:24:24
1. Делаете ролик шириной скажем 700px.
2. Делайте так, чтобы контент вылазил за края слева и справа, так чтобы общая длина ролика была бы 1600px (например).
3. Пишем fscommand("allowscale", "false");
4. В html задем ширину 100%
5. Делаем анимацию под ширину 1600px
а если жалеть пользователей и немного занть AS то можно тормознутость и вес ролика сократить втрое.
При этом вовсе не нужно будет делать клип на 1600пикс. достаточно на 400
var moveClouds=function(){ this._x-- if(this._x<=-410)this._x=0; } var setClouds=function(){ _global.sW=Stage.width var clouds:MovieClip=_root.createEmptyMovieClip('clouds',2) //1 var count=Math.ceil(Stage.width/410)+1 //2 var x=0 for(n=0;n<count;n++){ var obj=clouds.attachMovie('clouds','c'+n,(n+1)) obj._x=x x+=410 } clouds.onEnterFrame=moveClouds //3 } stageLis=new Object() stageLis.onResize=setClouds Stage.addListener(stageLis) Stage.align='TL' Stage.scaleMode='noScale' setClouds()
p.s.
в библиотеке должен быть клип clouds c _width=410
p.p.s
если строчку //1 и строчку //3 вынести наверх за функцию
а строчку //2 поменять на var count=5 то при resize ничо не будет сбрасываться.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.