dark256
27.08.2009, 17:19
В библиотеке подгружаемой свф-ки лежит серия картинок с включенными Export for AS и Export in first Frame. Идентификаторы вида 1.png, 2.png и т.д.
В осн свф-ке на стэйдже лежит клип sota. Внутри него еще клип surf.
import flash.display.BitmapData
var LIB = _root.createEmptyMovieClip("LIB",6000)
var my_mcl:MovieClipLoader = new MovieClipLoader
var my_lst:Object = new Object
my_mcl.addListener(my_lst)
my_mcl.loadClip( "surfaces.swf", LIB )
my_lst.onLoadInit = function( LIB:MovieClip)
{
trace (my_mcl.getProgress( LIB ).bytesTotal)
var linkageId:String = "1.png"
var myBitmapData:BitmapData = BitmapData.loadBitmap(LIB.linkageId)
trace(myBitmapData instanceof BitmapData)
sota.surf.attachBitmap(myBitmapData, 1)
}
Данные получены (объем типа байтов есть), в клипе пусто, на трэйсе - false
Либо я неправильно обращаюсь к instances в библиотеке подгруженной свф-ки,
либо на шкалу грузящей свф-ки я вобще не могу перетаскивать битмапы из подгружаемых свф-ок?
Или как?
Добавлено через 16 минут
Вот как вариант в подгружаемую свф-ку вставил функцию
import flash.display.BitmapData
function getBitMap( mov:MovieClip, linkageId:String )
{
var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId)
mov.attachBitmap(myBitmapData, 10)
}
Из основной свф-ки соответсвенно вызов
my_lst.onLoadInit = function( LIB:MovieClip)
{
LIB.getBitMap(sota.surf, "1.png")
}
Заработало.... но как-то это некрасиво... нет?
Добавлено через 2 часа 1 минуту
Ну что ж тут поделать-то?
Вышеозначенный способ загрузки картинок поверхности использован тут:
http://vskazke.ds-game.ru/CONSTRUCTOR.html
Сгенерите поле 7 на 7. Залить текстуркой. Поводить мышкой. Гексы "оплывают" при наведении мышки! И так после каждого движения карты....
var mark:MovieClip = setUpContainer()
var window:Rectangle = new Rectangle(viewX, viewY, viewXW, viewYW);
mark.scrollRect = window
function setUpContainer():MovieClip {
var mc:MovieClip = _root.createEmptyMovieClip("mark",1000)
var content:MovieClip = mc.createEmptyMovieClip("content", 100)
//content.cacheAsBitmap = true
return mc
}
Закомментил кэшбитмапа - эффект пропал. Типа на этом - все? Не судьба уже? :(
Добавлено через 17 часов 16 минут
Еще проблема - у подгружаемых битмапов получаются драные края. Те что диагональные. Как будто картинки состыкованы не вплотную. Уменьшение расстояния между клипами не помогает - все равно остается эффект "щели" между картинками.
mov.attachBitmap(myBitmapData, this.getNextHighestDepth())
mov.forceSmoothing = true
Не помогает. Ощущение что к картинке добавляется по краю какой-то паразитный цвет, как в gif, matte.... Какие-нибудь настройки в данном случае существуют?
И ведь все эти топики - от лени..... Лень 500 картинок ручками конвертить в 500 клипов!....
Кстати - нет ли для флэша (IDE) каких-нть утилит чтобы автоматизировать этот процесс? Макросы там какие-то или еще что?
В осн свф-ке на стэйдже лежит клип sota. Внутри него еще клип surf.
import flash.display.BitmapData
var LIB = _root.createEmptyMovieClip("LIB",6000)
var my_mcl:MovieClipLoader = new MovieClipLoader
var my_lst:Object = new Object
my_mcl.addListener(my_lst)
my_mcl.loadClip( "surfaces.swf", LIB )
my_lst.onLoadInit = function( LIB:MovieClip)
{
trace (my_mcl.getProgress( LIB ).bytesTotal)
var linkageId:String = "1.png"
var myBitmapData:BitmapData = BitmapData.loadBitmap(LIB.linkageId)
trace(myBitmapData instanceof BitmapData)
sota.surf.attachBitmap(myBitmapData, 1)
}
Данные получены (объем типа байтов есть), в клипе пусто, на трэйсе - false
Либо я неправильно обращаюсь к instances в библиотеке подгруженной свф-ки,
либо на шкалу грузящей свф-ки я вобще не могу перетаскивать битмапы из подгружаемых свф-ок?
Или как?
Добавлено через 16 минут
Вот как вариант в подгружаемую свф-ку вставил функцию
import flash.display.BitmapData
function getBitMap( mov:MovieClip, linkageId:String )
{
var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId)
mov.attachBitmap(myBitmapData, 10)
}
Из основной свф-ки соответсвенно вызов
my_lst.onLoadInit = function( LIB:MovieClip)
{
LIB.getBitMap(sota.surf, "1.png")
}
Заработало.... но как-то это некрасиво... нет?
Добавлено через 2 часа 1 минуту
Ну что ж тут поделать-то?
Вышеозначенный способ загрузки картинок поверхности использован тут:
http://vskazke.ds-game.ru/CONSTRUCTOR.html
Сгенерите поле 7 на 7. Залить текстуркой. Поводить мышкой. Гексы "оплывают" при наведении мышки! И так после каждого движения карты....
var mark:MovieClip = setUpContainer()
var window:Rectangle = new Rectangle(viewX, viewY, viewXW, viewYW);
mark.scrollRect = window
function setUpContainer():MovieClip {
var mc:MovieClip = _root.createEmptyMovieClip("mark",1000)
var content:MovieClip = mc.createEmptyMovieClip("content", 100)
//content.cacheAsBitmap = true
return mc
}
Закомментил кэшбитмапа - эффект пропал. Типа на этом - все? Не судьба уже? :(
Добавлено через 17 часов 16 минут
Еще проблема - у подгружаемых битмапов получаются драные края. Те что диагональные. Как будто картинки состыкованы не вплотную. Уменьшение расстояния между клипами не помогает - все равно остается эффект "щели" между картинками.
mov.attachBitmap(myBitmapData, this.getNextHighestDepth())
mov.forceSmoothing = true
Не помогает. Ощущение что к картинке добавляется по краю какой-то паразитный цвет, как в gif, matte.... Какие-нибудь настройки в данном случае существуют?
И ведь все эти топики - от лени..... Лень 500 картинок ручками конвертить в 500 клипов!....
Кстати - нет ли для флэша (IDE) каких-нть утилит чтобы автоматизировать этот процесс? Макросы там какие-то или еще что?