Просмотр полной версии : Использование загруженной картинки в нескольких клипах
Всем моё почтение!
Думаю этот вопрос я задаю не первый, но ответа подходящего не нашел (но может плохо искал - тогда ткните носом).
Задача следующая: имеются картинки, которые грузятся в клипы. Есть ли возможность одну и ту же использовать в разных клипах, кроме как грузить в каждый клип столько раз сколько нужно?
Желательно решение задачи реализовать средствами AS2.
Буду благодарен за очередную порцию помощи
crazyone
21.07.2008, 19:45
BitmapData
lexa2000lexa
21.07.2008, 19:50
duplicateMovieClip()
darksranger
21.07.2008, 20:17
http://www.flasher.ru/forum/newreply.php?do=newreply&p=753504
iNils хотел сказать
http://www.flasher.ru/forum/showthread.php?t=114172
а вобще конечно это даже ленью не назвать ... тема лежит 10 темами ниже ......
iNils хотел сказать
...Именно :)
darksranger
21.07.2008, 20:41
а что произошло с твоим сайтом ? там было описание битмапы, я все откладывал, а вот теперь решил почитать и не доступно :(
darksranger
21.07.2008, 21:09
а про draw у тебя нету перевода ? или раскажи в крации, как мне решить вопрос оптимизации ( не хочется грузить 20 картинок, когда можно загрузить только 10 )
Мой перевод сейчас не дам, он забит в метаязыке, но визуализатор еще не готов, поэтому дам то, что переводил Волгоградец.
public draw (source:Object, [matrix:Matrix], [colorTransform:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void
Рисует исходное изображение или клип в целевое изображение, используя векторный рендерер Флэш Плейера. Вы можете применить матрицу трансформаций, объект ColorTransform, настройки режима смешивания и целевой объект Rectangle для контроля выполнения рендеринга. Опционально, вы можете решить, применять ли сглаживание при изменении масштаба растрового изображения или нет. Это возможно только если исходный объект – это объект BitmapData.
Исходный объект MovieClip, находящийся на рабочем столе не учитывает никаких трансформаций, примененных к нему. Он используется таким, каким представлен в библиотеке или файле, без матрицы трансформаций, без трансформации цвета и без режима смешивания. Если вы хотите нарисовать клип, используя его собственные настройки трансформации, вы можете использовать объект Transform для определения различных настроек трансформации.
Доступность: ActionScript 1.0; Flash Player 8
Параметры:
source: Object – Объект BitmapData, куда будет помещен рисунок.
matrix: Matrix [необязательный параметр] – Объект Matrix, используемый для изменения масштаба, поворота или перевода координат растрового изображения. Если матрица не обозначена, растровое изображение не будет трансформировано. Если вы хотите указать данный параметр, но не применять трансформации к изображению, создайте матрицу, используя конструктор new Matrix() со значениями по умолчанию и используйте эту матрицу в качестве параметра.
colorTransform: ColorTransform [необязательный параметр] – Объект ColorTransform, который используется для настройки цвета растрового изображения. Если объект не обозначен, цвет растрового изображения трансформироваться не будет. Если вы хотите указать данный параметр, но не применять трансформации к изображению, создайте объект, используя конструктор new ColorTransform() со значениями по умолчанию и используйте этот объект в качестве параметра.
blendMode: Object [необязательный параметр] – настройки режима смешивания для трансформации. Этот параметр может быть как целым числом (от 1 до 14), так и строкой (например, "normal" или "darken"). Смотрите свойство blendMode класса MovieClip для получения информации о значениях blendMode.
smooth: Boolean [необязательный параметр] – Булево значение, определяющее будет ли объект BitmapData сглаживаться или нет при масштабировании и повороте, при их применении в параметре matrix. Значение по умолчанию установлено в false. Параметр сглаживания применяется только если значение параметра source – объект BitmapData. При значении smooth равном false, на повернутое или масштабированном изображении BitmapData могут быть видны пикселы или появиться “лесенка”. Например, следующие два изображения используют одинаковый объект BitmapData для параметра source, но значение параметра smooth равно true для изображения слева и false для изображения справа:
[тут картинка, смотреть ее в хелпе]
Рисование растрового изображения с параметром smooth равном true занимает дольше времени, чем при использовании параметра smooth со значением false.
darksranger
21.07.2008, 21:49
не чего сложного один только вопрос
у матрицы есть, "a", "d" ( ну или скэйлингом,"sy" "sx", не суть )
получается только увеличить, попытки подстановки минусового значения, не отображает результат, но вот делема как мне уменьшить, скопированный обьект, или использовать, после копирования height и width, ну это, как бы конечно хорошо, но лишнее движение в лево ....
darksranger
21.07.2008, 22:16
))) а я как всегда криво пишу, что даже сам себя не понимаю, местами :)
я уже впринцепи решил, пикселями через _height задавать
но просто уже из интереса, сматри
у матрицы есть
a b tx
с d ty
чтобы поменять размер, нужно менять "a" и "d", но вот получается только увеличить обьект ( картинку которую скопировали ), тоесть ставишь a = 1 d = 1 картинка остается не изменный, стоит поставить a = 2 d = 2, картинка увеличиваетсяся на 2 пикселя или в два раза не разбирался, так вот мне нужно наоборот уменьшить ее, но не получается, так как, если поставить a = -1 и d = -1 то картинка вобще не отображается
darksranger
21.07.2008, 22:35
;) спасиб, все оказалось просто , а я откладывал знакомство с BitmapData :)
еще один вопрос
у меня наверно smooth не работает, так как уменьшенная картинка, ужастного качества
почитал help, пишут что обьект должен быть bitmapdata и вот вопрос, в моем примере
var myBitmapData:BitmapData = new BitmapData(67, 67, true, 0);
b1.attachBitmap(myBitmapData, this.getNextHighestDepth());
var myMatrix:Matrix = new Matrix();
myMatrix.a = 0.2;
myMatrix.d = 0.2;
myMatrix.tx = -10;
var blendMode:String = "normal";
var smooth:Boolean = true;
myBitmapData.draw(allphoto.photoGal1, myMatrix, myColorTransform, blendMode, myRectangle, smooth);
обьект b1 является bitmapdatoi ? если нет то как его им сделать ?
( b1 дублируется выше из мувика на сцене,allphoto.photoGal1 это там куда грузится большой вариант)
опытным путем, выяснил smooth не работает (((( что делать ?
attachBitmap это метод мувиклипа, значит b1 должен быть мувиклипом, а не битмапом.
джонатан
22.07.2008, 13:15
Блин. Так а само изображение потгружаемое где должно быть? В b1?
//update
darksranger, это я так понял ты все фотки в объект "allphoto" загрузил? Так?
Alex_beginner
22.07.2008, 14:24
darksranger!
у матрицы есть
a b tx
с d ty
Хочу тут пояснить. Разработчики хелпа Флеша немного перетрудились и сделали неправильную запись матрицы. На самом деле матрица выглядит вот так:
|a c tx|
|b d ty|
|0 0 1|
и уравнения трансформаций выглядят соответственно:
Xн = a*Xc+c*Yc+tx;
Yн = b*Xc+d*Yc+ty;
Infectedcell
22.07.2008, 15:26
Блин. Так а само изображение потгружаемое где должно быть? В b1?
//update
darksranger, это я так понял ты все фотки в объект "allphoto" загрузил? Так?
http://www.flasher.ru/forum/showthread.php?t=114172
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.