Перейти к содержимому


Резиновый флеш


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Berik Yergaliyev

Berik Yergaliyev

    ветеран

  • good designer
  • PipPipPipPip
  • 1 023 сообщений

Отправлено 02 Сентябрь 2010 - 08:15

Изображение

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

#2 Kir3D

Kir3D

    ветеран

  • good designer
  • PipPipPipPip
  • 4 486 сообщений

Отправлено 02 Сентябрь 2010 - 09:56

подсказка - есть координаты абсолютные, а есть относительные :)
космополит-фрилансер (по-русски бомж-безработный) © :)

#3 Berik Yergaliyev

Berik Yergaliyev

    ветеран

  • good designer
  • PipPipPipPip
  • 1 023 сообщений

Отправлено 02 Сентябрь 2010 - 10:15

Просмотр сообщенияKir3D (02 Сентябрь 2010 - 09:56) писал:

подсказка - есть координаты абсолютные, а есть относительные :)

С флеш я на вы. Вообще не понял о чем ты.

#4 Kir3D

Kir3D

    ветеран

  • good designer
  • PipPipPipPip
  • 4 486 сообщений

Отправлено 02 Сентябрь 2010 - 11:18

Допустим твоя анимация находится в отдельном movieclip, нужно определить размеры и положение этого movieclip, можно на timeline просто поместить с абсолютными координатами, можно на ActionScript написать код, где определяются и координаты, и размеры.
Тут статья на английском про динамическую верстку.
космополит-фрилансер (по-русски бомж-безработный) © :)

#5 arco

arco

    ветеран

  • good designer
  • PipPipPipPip
  • 787 сообщений

Отправлено 02 Сентябрь 2010 - 11:59

Просмотр сообщенияBerik (02 Сентябрь 2010 - 08:15) писал:

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

Напишу на AS3, т.к. AS2 не знаю. %)
Чтобы сделать тянущимся флешку, надо получать размеры stage.
Из флешки можно обратится к stage.stageWidth и stage.stageHeight - здесь будут размеры всей флешки, которая она занимает на экране.
Чтобы флешка тянулась в окне браузера нужно при вставлении в html-страничку указать 100% для ширины и высоты.
Все изменения размера можно отслеживать с помощью обработчика события Event.RESIZE.

Вот небольшой пример
Прикрепленный файл  resize_example.swf   1,3К   33 Количество загрузок:

import flash.display.Sprite;
import flash.events.Event;
import flash.display.StageAlign;
import flash.display.StageScaleMode;

//Создаем графику
//Круг посредине
var sp:Sprite = new Sprite();
addChild(sp);
sp.graphics.beginFill(0xBBBBBB);
sp.graphics.drawCircle(0,0,50);
sp.graphics.endFill();

//Верхний левый квадрат
var sp3:Sprite = new Sprite();
addChild(sp3);
sp3.graphics.beginFill(0x444444);
sp3.graphics.drawRect(0,0, 30, 30);
sp3.graphics.endFill();

//Тянущийся круг
var sp4:Sprite = new Sprite();
addChildAt(sp4,0);
sp4.graphics.beginFill(0xEEEEEE);
sp4.graphics.drawCircle(0,0,100);
sp4.graphics.endFill();

//Отключаем растягивание графики
stage.scaleMode = StageScaleMode.NO_SCALE;
//Переносим начало координат в левый верхний угол
stage.align = StageAlign.TOP_LEFT;

//Добавление обработчика события, реагирующего на изменение экрана
stage.addEventListener(Event.RESIZE, onresize);


onresize(null);

//Обработчик событий, сюда пишется весь код, связанный с репозиционированием графических объектов
function onresize(e:Event){

	sp.x = stage.stageWidth/2;
	sp.y = stage.stageHeight/2;
	
	sp2.x = stage.stageWidth - sp2.width;
	sp2.y = stage.stageHeight - sp2.height;
	
	var s:Number = Math.min(stage.stageWidth*0.8/200, stage.stageHeight*0.8/200);
	trace(s);
	sp4.x = stage.stageWidth/2;
	sp4.y = stage.stageHeight/2; 
	sp4.scaleX = s;
	sp4.scaleY = s;
}


З.Ы. Код надо скопировать, создать во Flash новый документ ActionScript 3.0, выделить пустой кадр, нажать F9, вставить код в появившееся окно, нажать Ctrl+Enter.

#6 arab-do

arab-do

    Новичок

  • пользователь
  • Pip
  • 2 сообщений

Отправлено 23 Ноябрь 2011 - 16:41

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

Скрытый текст


#7 arco

arco

    ветеран

  • good designer
  • PipPipPipPip
  • 787 сообщений

Отправлено 23 Ноябрь 2011 - 20:25

А код какой? Я вижу этот вообще не компилится (там скобки закрывающей нет).

#8 arab-do

arab-do

    Новичок

  • пользователь
  • Pip
  • 2 сообщений

Отправлено 23 Ноябрь 2011 - 20:36

Просмотр сообщенияarco (23 Ноябрь 2011 - 20:25) писал:

А код какой? Я вижу этот вообще не компилится (там скобки закрывающей нет).

я тупа содрал его у Вас
Скрытый текст

вы не могли бы мне дать правильный код,

#9 Trizor

Trizor

    Новичок

  • пользователь
  • Pip
  • 1 сообщений

Отправлено 20 Август 2014 - 09:24

Просмотр сообщенияBerik Yergaliyev (02 Сентябрь 2010 - 08:15) писал:

Может, кто знает или делал подобное?
   Вот тут обычный флеш тянется внешним JS . этим же скриптом можно тянуть хоть картинки, хоть видео, хоть черта лысого.

#10 Kir3D

Kir3D

    ветеран

  • good designer
  • PipPipPipPip
  • 4 486 сообщений

Отправлено 20 Август 2014 - 11:30

Просмотр сообщенияTrizor (20 Август 2014 - 09:24) писал:

Просмотр сообщенияBerik Yergaliyev (02 Сентябрь 2010 - 08:15) писал:

Может, кто знает или делал подобное?
   Вот тут обычный флеш тянется внешним JS . этим же скриптом можно тянуть хоть картинки, хоть видео, хоть черта лысого.
Возможно бы Ваш совет пригодился бы... три года назад :)
космополит-фрилансер (по-русски бомж-безработный) © :)





Поиск работы в Казахстане