Форум 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)
-   -   Проблема с duplicateMovieClip (http://www.flasher.ru/forum/showthread.php?t=108680)

chingachgoog 27.02.2008 01:16

в данном случае битмапдата может и оптимальнее (не считая огромный код по ее созданию и трудности с масштабированием), но как только автор захочет грузить не только картинки, то ничего не останется как грузить из кэша.

iNils 27.02.2008 01:34

Код пишется в течении 5 минут. Трудности с масштабированием возможно у вас и есть, а у других их нет, так как поведение загруженной картинки и приаттаченной, идентично.
Когда автору захочется грузить что-то кроме картинок, он пойдет другим путем.

chingachgoog 27.02.2008 02:16

Цитата:

Сообщение от iNils
Код пишется в течении 5 минут.

Вот это и скверно. Лоад пишется на порядок быстрее.

Цитата:

Сообщение от iNils
Трудности с масштабированием возможно у вас и есть, а у других их нет, так как поведение загруженной картинки и приаттаченной, идентично.

Возможно. А возможно я найду старый пример, где поведение кардинально разнится.

Molecula 27.02.2008 02:28

Автор не может продублировать подгруженные картинки, ему по любому нужно будет юзать Bitmap.draw();
В любом случае, у нас есть функция загрузки изображения и функция отрисовки объекта.

iNils 27.02.2008 02:49

Цитата:

Сообщение от chingachgoog
Вот это и скверно. Лоад пишется на порядок быстрее.

Я не буду вас переубеждать. :) Раз вы не знаете, что одно из преимуществ классов в том, что написав его один раз и потратив на это 5 минут, вы можете потом его использовать значительно экономя на этом время.

iNils 27.02.2008 11:07

К вопросу о чтении из кеша. Случайно заметил, что HTTPwatch может показывать время ушедшие на чтение файла. На картинки это хорошо видно.
http://www.httpwatch.com/images/ebay.png

Olegg 27.02.2008 11:29

опа,круто!

kio21 11.07.2008 23:50

Всем привет! Не стал создавать новую ветку, так как первоначальная проблема была та же самая, что и здесь. Но! Попробовал предлагаемое здесь решение - ничего не выходит, почему то рисуется белый клип, т.е. методом draw ничего не копируется!! Народ, need help!
Теперь постараюсь рассказать все немного подробнее. Опишу кратко, но думаю, суть проблемы.
В общем по началу, картинки лежали на винте рядом с флэшкой. На событие OnLoadError слушающего клипа bigbanners (куда все загружалось) вешаю (т.е. выполняется когда ве загрузилось):
Код:

_root.bigbanners.onLoadError = function () {
mcBmp = new BitmapData(loadedBanner._width, loadedBanner._height);
mcBmp.draw(loadedBanner, new Matrix());
var mc:MovieClip = _root.createEmptyMovieClip("copy_mc", 0);
mc.attachBitmap(mcBmp, 1);
//через такое временное динамическое текстовое поле повыводил все что было можно, все показания в норме. все слои впорядке, мувиклипы прозваниваются...
_root.tablo.text = mc;
};

предварительно все нужные библиотеки подгрузил:
Код:

import flash.display.BitmapData;
import flash.geom.Matrix;

В общем, когда картинки лежмли на винте, все работало. Когда я их закинул в инет, блин изображение не копируется - ничего не видать! (во flashvars все нормально, точно, просто там много еще чего грузится без проблем) Короче картинки во флэшку загружаются, я их вижу, но продублировать не получается... Подправил только загрузку вроде, больше ничего не трогал. Не знаю уже что делать...

Alex_beginner 12.07.2008 17:44

Здравствуйте kio21!

Цитата:

Теперь постараюсь рассказать все немного подробнее. Опишу кратко, но думаю, суть проблемы.
:D:D

Сказано очень оригинально и острумно. Но не будем отвлекаться.

Необходимо уточнить несколько вопросов:

1. В коде что такое loadedBanner?
2. Покажите как инициализируется loadedBanner?
3. Почему код написан в onLoadError?

kio21 13.07.2008 00:19

Хорошо. напишу чуть поподробнее:
Код:

import flash.display.BitmapData;
import flash.geom.Matrix;

var mcl:MovieClipLoader = new MovieClipLoader ();
mcl.addListener (_root);

var mc:MovieClip = _root.createEmptyMovieClip ("loadedBanner", _root.getNextHighestDepth());
//в html-ке для переменной bannerpic0 задан путь к картинке
mcl.loadClip (bannerpic0, mc);
//картинку после загрузки вижу!
//если же вместо строчки "mcl.loadClip (bannerpic0, mc);" написать
//mcl.loadClip ("bannerpic0.jpg", mc);
//т.е. начать грузить картинку с винта, рядом с флэшкой
//то все заработает, с помощью того же механизма дублирования!!

//после ее успешной загрузки, пытаюсь продублировать
_root.onLoadInit = function () {
  mcBmp = new BitmapData(_root.loadedBanner._width, _root.loadedBanner._height);
  mcBmp.draw(_root.loadedBanner, new Matrix());
  var mc1:MovieClip = _root.createEmptyMovieClip("copy_mc", _root.getNextHighestDepth());
  mc1.attachBitmap(mcBmp, 0);
  mc1._x+=100;
  mc1._y+=100;
};
//вместо картинки вижу белый прямоугольник тех же размеров, что и загруженная картинка :-(



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

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