![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Сообщений: 37
|
Используя Action Script 2.0
Здравствуйте столкнулся с таким вопросом на работе. Необходимо создать меню из картинок, число и путь картинок передает сервер. От флеша зависит их расстановка. Я получаю две переменные xx и yy. Первая переменная хранит кол-во картинок по оси Х, вторая переменная хранит кол-во столбцов. Пример: xx=5; yy=3; Соответственно мне нужно расставить по 5 картинок в 3 строки (в сумме 15). + мне передают какой то юрл с месторасположением картинок, причём картинки разные. И желательно проверять данные через EnterFrame; Подскажите пожалуйста. Последний раз редактировалось Alexvblbl; 16.03.2011 в 23:43. Причина: Не дописал |
|
|||||
|
У вас серия утверждений. Вопроса не состоялось.
|
|
|||||
|
Регистрация: Dec 2010
Сообщений: 37
|
Так ну попробую разжевать.
Есть функция получения данных, а точнее двух переменных: var getter:LoadVars = new LoadVars(); getter.onLoad = function(success:Boolean) { if (success) { _root.xLine=this.xx; _root.yLine=this.yy; postr (xLine, yLine); trace(_root.xLine); //trace(yLine); } else { trace("Error loading/parsing LoadVars."); } }; getter.load("text.txt"); Которые отвечают соответственно: xLine за кол-во картинок в строке; yLine за кол-во строк. Необходима функция которая последовательно расставит муви клипы по сцене, с учетом ширины окна сцены. И что бы в каждый ново созданный муви клип загружалась картинка адрес которой передает сервер. |
|
|||||
|
Ширина сцены:
Раставить циклом вложеным в цикл, нечто вроде: Грузить картинку при помощи loadClip, после загрузки масштабировать её. В хэлпе есть исчерпывающее описание и примеры по загрузке, не буду сюда перекопировывать.
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 17.03.2011 в 01:01. |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 37
|
Есть такая функция:
function postr () { count = 0; leftPadding = 10; topPadding = 10; widthMovie = 50; heihtMovie = 50; lengtH = 5; if( !( (_root.xLine * widthMovie + _root.xLine * lengtH ) < Stage.width && (_root.yLine * heihtMovie + _root.yLine * lengtH ) < Stage.height ) ) { _root.AL.text="ВЫ превысили число элементов в строке"; } for (i = 0; i < _root.xLine; i++) { for(j = 0; j < _root.yLine; j++) { (_root.xLine); mcName = "sampleMC" + count++; _root.attachMovie("sampleMC", mcName, _root.getNextHighestDepth()); getImg (); // функция загрузки картинки в муви клип _root[mcName]._x = leftPadding + widthMovie * i + i * lengtH; _root[mcName]._y = topPadding + heihtMovie * j + j * lengtH; _root[mcName].onEnterFrame = function() { //по идее тут анимация } } } _root.countMovies = count; } |
|
|||||
|
Удалите onEnterFrame, зачем вы его вешаете на каждую кнопку ?
Увеличение/уменьшение: _root[mcName].onRollOver = function(){ this._xscale=this._yscale = 120; } _root[mcName].onRollOut = function(){ this._xscale=this._yscale = 100; } ![]() ещё вот это: так вы получаете строку, компилятор может конеш догадаеться что вы надумали и скомпилирует как надо, но правильнее будет получать ссылку: (ставить после attachMovie)
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 17.03.2011 в 09:52. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Tails, еще проще можно:
var mcName = "sampleMC"+count; var mc = _root.attachMovie("sampleMC", mcName, _root.getNextHighestDepth()); mc._x = leftPadding+widthMovie*i+i*lengtH; mc._y = topPadding+heihtMovie*j+j*lengtH; ![]()
__________________
hauts.ru |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 37
|
Tails
Ну, да посмотрев на код реально нашел лишнее: onEnterFrame на каждую кнопку убрал. (_root.xLine) - удалил ![]() На счёт увелечения уменьшения оно работает, если в мувик не вкладывать картинку. А у меня есть функция: function getImg () { if (_root.img>0){ loadMovie(_root.img+".jpg", _root[mcName]) _root.img--; }else{ loadMovie(_root.img+1+".jpg", _root[mcName]) } } 0=("img1.jpg", "http://urlperehoda"); 1=("img1.jpg", "http://urlperehoda"); ... Как настроить мост между этим массивом и моей функцией? Как используя этот массив вкладывать в каждый ново-приатаченный объект картинку что хранит массив, и ставить на эту картинку onPress (greURL - тот, что передает массив)? Добавлено через 38 секунд Цитата:
![]() Последний раз редактировалось Alexvblbl; 17.03.2011 в 16:43. Причина: Не дописал вопрос |
|
|||||
|
О боже, сколько вопросов
![]() Всё по порядку:
както так
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 37
|
Цитата:
Дело в том, что я этот мост находил. Но как вытащить массив? А точнее данные с него. Причём там написано так: var loaderArray=new Array( a="1.jpg, http://afd.org.ua", b="2.jpg, http://shfl.dn.ua", c="3.jpg, http://flasher.ru" ) Добавлено через 2 часа 53 минуты Хорошо теперь есть другой вопрос, я получил данные из JS (ну точнее массив). Он выглядит так: 1.jpg,2.jpg,3.jpg - как мне его разбить на отдельные картинки и присваивать их моим приатаченным объектам ? Массив пока без ссылок. Последний раз редактировалось udaaff; 17.03.2011 в 19:33. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| AS 2.0 , flash , объекты , расставить , сцене |
|
|