|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Sep 2013
Сообщений: 12
|
Как загружать внешние JPG проблема со слушателем!
Хочу нарисовать несколько прямоугольников и заполнить их текстурами взятыми из внешних JPG
заполнять beginBitmapFill я научился! но возникла проблема с функцией слушателем!!! который я запускаю после прорисовки КАЖДОГО! прямоугольника. Слушатель отрабатывает ТОЛЬКО последний!!! выглядит так как будто она работает сама по себе... Вот образец кода: var g:Graphics; var x1:int; var y1:int; var x2:int; var y2:int; var IMG:String; var loaderIMG:Loader=new Loader(); var spriteIMG:Sprite = new Sprite(); graf(10,100,20,300,0x777777,"quadro1.jpg"); graf(110,200,20,300,0x777777,"quadro2.jpg"); graf(210,300,20,300,0x777777,"quadro3.jpg"); graf(310,400,20,300,0x777777,"quadro4.jpg"); function graf(xx1,xx2,yy1,yy2,colorL,IMG):void { // присваиваем значения переменным : x1 = xx1; x2 = xx2; y1 = yy1; y2 = yy2; trace(' =========================== КООРДИНАТЫ: '+' '+x1+' '+x2+' '+y1+' '+y2); addChild(spriteIMG); g = spriteIMG.graphics; g.lineStyle(0.5, colorL); g.moveTo(x1, y1); g.lineTo(x1, y2); g.lineTo(x2, y2); g.lineTo(x2, y1); g.lineTo(x1, y1); trace(' ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: '); loaderIMG.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadIMG); loaderIMG.load(new URLRequest(IMG)); } function onLoadIMG(e:Event):void { trace(' НО ОН ГРУЗИТ ТОЛЬКО ПОСЛЕДНИЙ ФАЙЛ!!! Координаты '+' '+x1+' '+x2+' '+y1+' '+y2); spriteIMG.addChild(loaderIMG); loaderIMG.x = x1; loaderIMG.y = y1; addChild(spriteIMG); } =========================== КООРДИНАТЫ: 10 100 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 110 200 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 210 300 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 310 400 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: НО ОН ГРУЗИТ ТОЛЬКО ПОСЛЕДНИЙ ФАЙЛ!!! Координаты 310 400 20 300 |
|
|||||
Перенесите
в тело цикла. А в обработчике onLoadIMG замените
на
Добавлено через 29 минут
да и с позиционирование у Вас проблемы. + Писать в кадрах не хорошо)
__________________
return this... |
|
|||||
Регистрация: Sep 2013
Сообщений: 12
|
Благодарю! кое что изменилось... Слушатель отрабатывает столько раз сколько надо, но в самом конце и координаты подставляет последние )
КОД: var g:Graphics; var x1:int; var y1:int; var x2:int; var y2:int; var IMG:String; //var loaderIMG:Loader=new Loader(); var spriteIMG:Sprite = new Sprite(); graf(10,100,20,300,0x777777,"t1.jpg"); graf(110,200,20,300,0x777777,"t2.jpg"); graf(210,300,20,300,0x777777,"t3.jpg"); graf(310,400,20,300,0x777777,"t4.jpg"); function graf(xx1,xx2,yy1,yy2,colorL,JPG):void { // присваиваем значения переменным : x1 = xx1; x2 = xx2; y1 = yy1; y2 = yy2; IMG = JPG; trace(' =========================== КООРДИНАТЫ: '+' '+x1+' '+x2+' '+y1+' '+y2); addChild(spriteIMG); g = spriteIMG.graphics; g.lineStyle(0.5, colorL); g.moveTo(x1, y1); g.lineTo(x1, y2); g.lineTo(x2, y2); g.lineTo(x2, y1); g.lineTo(x1, y1); trace(' ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: '); var loaderIMG:Loader=new Loader(); loaderIMG.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadIMG); loaderIMG.load(new URLRequest(IMG)); } function onLoadIMG(e:Event):void { trace(' Координаты в СЛУШАТЕЛЕ '+' '+x1+' '+x2+' '+y1+' '+y2+' '+IMG); spriteIMG.addChild(e.target.content); e.target.content.x = x1; e.target.content.y = y1; addChild(spriteIMG); } =========================== КООРДИНАТЫ: 10 100 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 110 200 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 210 300 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: =========================== КООРДИНАТЫ: 310 400 20 300 ВОТ ТУТ ЗАПУСКАЕМ СЛУШАТЕЛЯ: Координаты в СЛУШАТЕЛЕ 310 400 20 300 t4.jpg Координаты в СЛУШАТЕЛЕ 310 400 20 300 t4.jpg Координаты в СЛУШАТЕЛЕ 310 400 20 300 t4.jpg Координаты в СЛУШАТЕЛЕ 310 400 20 300 t4.jpg |
Часовой пояс GMT +4, время: 03:47. |
|
« Предыдущая тема | Следующая тема » |
|
|