Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   подгрузка бэграунда из XML (http://www.flasher.ru/forum/showthread.php?t=124679)

cobweb 06.05.2009 02:23

подгрузка бэграунда из XML
 
Доброго времени суток!

Вопрос в следующем, как подгрузить бэграунд из XML на рабочую область меньшего размера, но чтоб при просмотре в броузере бэраунд растягивался по размеру окна и центровался относительно рабочей области???:wacko:

Wolsh 06.05.2009 02:31

Какой из четырех пунктов у Вас не получается? И что Вы называете "рабочей областью"? И где Ваш код?

cobweb 06.05.2009 02:48

ну вот, как подгрузить бэграунд из XML, мне нужно только это, остальное я сделаю на таймлайн (так что кода у меня нет)! (в моём понимании рабочая область) это размер документа 400х300 например, а бэграунд больше него!
вот у меня и вопросик, возможно такое замутить (и маленький нюансик, нужно чтоб рабочая область центровалась относительно бэграунда, на нём типа рамка!)

можно такое сделать?

хотя б где это почитать?

nOobCrafter 06.05.2009 11:43

грузите свой бэкграунд и по событию onLoadInit Выставляете ему коондинаты
Код AS1/AS2:

bg._x = (Stage.width - bg._width) / 2;
bg._y = (Stage.height - bg._height) / 2;

если вдруг бэкграунд меньше рабочей области то можно сделать так:
Код AS1/AS2:

import flash.display.BitmapData;
 
function loadBitmapPattern(url:String, target:MovieClip) // пишем функцию-конструктор для загрузки и заполнения
{
var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth()); // делаем клип-контейнер
var listener:Object = new Object();                  // добавляем слушателя для загрузки картинки
listener.onLoadInit = function(mc:MovieClip)            // когда картинка загружена..
{
 var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);// делаем новую битмапу
 mc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(), "auto", true); // аттачим что то
      bitmap.draw(mc);                                    // срисовываем
 with (mc)                                        // с background_mc, рисуем бэкграунд
 {
  clear();                                        // удаляем текущий бэкграунд
              // используем beginBitmapFill для отрисовки
              // повторяем загруженную картинку в нужной "форме"
  beginBitmapFill(bitmap);
  moveTo(0, 0);                                  // draw a box around the extents of the stage (может так яснее чем мои коменты)
  lineTo(Stage.width, 0);
  lineTo(Stage.width, Stage.height);
  lineTo(0, Stage.height);
  lineTo(0, 0);
  endFill();
 }
};
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);                          // показываем что слушать
loader.loadClip(url, bmc);                              // собсна грузим что надо и куда надо.
}
loadBitmapPattern("имя_картинки", куда_грузим);

грузит маленькую картинку и размножает ее по всей рабочей области.

cobweb 09.05.2009 19:02

Цитата:

Сообщение от nOobCrafter (Сообщение 817932)
грузите свой бэкграунд и по событию onLoadInit Выставляете ему коондинаты
Код AS1/AS2:

bg._x = (Stage.width - bg._width) / 2;
bg._y = (Stage.height - bg._height) / 2;

если вдруг бэкграунд меньше рабочей области то можно сделать так:
Код AS1/AS2:

import flash.display.BitmapData;
 
function loadBitmapPattern(url:String, target:MovieClip) // пишем функцию-конструктор для загрузки и заполнения
{
var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth()); // делаем клип-контейнер
var listener:Object = new Object();                  // добавляем слушателя для загрузки картинки
listener.onLoadInit = function(mc:MovieClip)            // когда картинка загружена..
{
 var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);// делаем новую битмапу
 mc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(), "auto", true); // аттачим что то
      bitmap.draw(mc);                                    // срисовываем
 with (mc)                                        // с background_mc, рисуем бэкграунд
 {
  clear();                                        // удаляем текущий бэкграунд
              // используем beginBitmapFill для отрисовки
              // повторяем загруженную картинку в нужной "форме"
  beginBitmapFill(bitmap);
  moveTo(0, 0);                                  // draw a box around the extents of the stage (может так яснее чем мои коменты)
  lineTo(Stage.width, 0);
  lineTo(Stage.width, Stage.height);
  lineTo(0, Stage.height);
  lineTo(0, 0);
  endFill();
 }
};
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);                          // показываем что слушать
loader.loadClip(url, bmc);                              // собсна грузим что надо и куда надо.
}
loadBitmapPattern("имя_картинки", куда_грузим);

грузит маленькую картинку и размножает ее по всей рабочей области.


Огромное спасибище :drinks::drinks: буду разбирать


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

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