Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2011, 23:42
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 1  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Attention Динамичный контент

Используя Action Script 2.0
Здравствуйте столкнулся с таким вопросом на работе.
Необходимо создать меню из картинок, число и путь картинок передает сервер.
От флеша зависит их расстановка.

Я получаю две переменные xx и yy. Первая переменная хранит кол-во картинок по оси Х, вторая переменная хранит кол-во столбцов.
Пример:
xx=5;
yy=3;
Соответственно мне нужно расставить по 5 картинок в 3 строки (в сумме 15).

+ мне передают какой то юрл с месторасположением картинок, причём картинки разные.

И желательно проверять данные через EnterFrame;

Подскажите пожалуйста.


Последний раз редактировалось Alexvblbl; 16.03.2011 в 23:43. Причина: Не дописал
Старый 17.03.2011, 00:11
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
У вас серия утверждений. Вопроса не состоялось.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 17.03.2011, 00:41
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 3  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Цитата:
Сообщение от dark256 Посмотреть сообщение
У вас серия утверждений. Вопроса не состоялось.
Так ну попробую разжевать.

Есть функция получения данных, а точнее двух переменных:
Код AS1/AS2:
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.

Которые отвечают соответственно:
xLine за кол-во картинок в строке;
yLine за кол-во строк.

Необходима функция которая последовательно расставит муви клипы по сцене, с учетом ширины окна сцены.
И что бы в каждый ново созданный муви клип загружалась картинка адрес которой передает сервер.

Старый 17.03.2011, 00:58
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ширина сцены:
Код AS1/AS2:
trace(Stage.width);
Раставить циклом вложеным в цикл, нечто вроде:
Код AS1/AS2:
var clipWidth:Number =     90;
var clipHeight:Number  =   50;
 
for(i=1;         i <= parseInt(yLine);     i++){
    for(j=1;     j <= parseInt(xLine);     j++){
 
    myClip._x =   j*clipWidth;
    myClip._y =   i*clipHeight;
    }
}
Грузить картинку при помощи loadClip, после загрузки масштабировать её. В хэлпе есть исчерпывающее описание и примеры по загрузке, не буду сюда перекопировывать.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 17.03.2011 в 01:01.
Старый 17.03.2011, 03:10
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 5  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Есть такая функция:
Код AS1/AS2:
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;
}
Как мне теперь сделать простую анимацию на эти мувики(мувик хранит в себе картинку)? Что бы при наведении мувик увеличивался (onRollOver), при отведении становился прежним (onRollOut) ?

Старый 17.03.2011, 09:36
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 6  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Удалите onEnterFrame, зачем вы его вешаете на каждую кнопку ?

Увеличение/уменьшение:
Код AS1/AS2:
_root[mcName].onRollOver = function(){
    this._xscale=this._yscale = 120;
}
_root[mcName].onRollOut = function(){
    this._xscale=this._yscale = 100;
}
И вопросик можно ? Что сиё означает (_root.xLine); ?

ещё вот это:
Код AS1/AS2:
 mcName =  "sampleMC" + count++;
так вы получаете строку, компилятор может конеш догадаеться что вы надумали и скомпилирует как надо, но правильнее будет получать ссылку:
(ставить после attachMovie)
Код AS1/AS2:
mcName =  eval("_root.sampleMC" + count++);
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 17.03.2011 в 09:52.
Старый 17.03.2011, 11:03
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 7  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Tails, еще проще можно:

Код AS1/AS2:
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;
А вот eval там совсем не нужен
__________________
hauts.ru

Старый 17.03.2011, 16:22
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 8  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Tails
Ну, да посмотрев на код реально нашел лишнее:
onEnterFrame на каждую кнопку убрал.
(_root.xLine) - удалил

На счёт увелечения уменьшения оно работает, если в мувик не вкладывать картинку. А у меня есть функция:
Код AS1/AS2:
function getImg () {
		if (_root.img>0){
			loadMovie(_root.img+".jpg", _root[mcName])
			_root.img--;
		}else{
			loadMovie(_root.img+1+".jpg", _root[mcName])
		}
}
Кста сейчас дали задание написать её по другому, то есть будет массив на JS (Array), с примерно такой записью:
0=("img1.jpg", "http://urlperehoda");
1=("img1.jpg", "http://urlperehoda");
...
Как настроить мост между этим массивом и моей функцией?
Как используя этот массив вкладывать в каждый ново-приатаченный объект картинку что хранит массив, и ставить на эту картинку onPress (greURL - тот, что передает массив)?


Добавлено через 38 секунд
Цитата:
Сообщение от Hauts Посмотреть сообщение
Tails, еще проще можно:

Код AS1/AS2:
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;
А вот eval там совсем не нужен
Спасибо но так не работает функция с картинками


Последний раз редактировалось Alexvblbl; 17.03.2011 в 16:43. Причина: Не дописал вопрос
Старый 17.03.2011, 18:42
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 9  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
О боже, сколько вопросов

Всё по порядку:
  1. Флеша загрузилась на сайте, ... ок
  2. Ждём загрузки массива с данными. пс Про мост Flash <-> Js тут
  3. Данные получили - раставили по переменным/масивам - кому как удобно.
  4. Начинаем атачить контейнеры для картинок
  5. В цикле где атачаться контейнеры, можно сразу, на пока ещё пустой контейнер вешать ссылку URL, полученную из пункта 3
  6. Тут-же в цикле, в новосозданный контейнер грузить и картинки.

както так
__________________
Дети не должны знать о своих родителях

Старый 17.03.2011, 19:25
Alexvblbl вне форума Посмотреть профиль Отправить личное сообщение для Alexvblbl Найти все сообщения от Alexvblbl
  № 10  
Ответить с цитированием
Alexvblbl

Регистрация: Dec 2010
Сообщений: 37
Цитата:
Сообщение от Tails Посмотреть сообщение
О боже, сколько вопросов

Всё по порядку:
  1. Флеша загрузилась на сайте, ... ок
  2. Ждём загрузки массива с данными. пс Про мост Flash <-> Js тут
  3. Данные получили - раставили по переменным/масивам - кому как удобно.
  4. Начинаем атачить контейнеры для картинок
  5. В цикле где атачаться контейнеры, можно сразу, на пока ещё пустой контейнер вешать ссылку URL, полученную из пункта 3
  6. Тут-же в цикле, в новосозданный контейнер грузить и картинки.

както так
Вот то и самый главный вопрос:"Ждём загрузки массива с данными..."

Дело в том, что я этот мост находил. Но как вытащить массив? А точнее данные с него. Причём там написано так:
Код AS1/AS2:
var loaderArray=new Array(
a="1.jpg, http://afd.org.ua",
b="2.jpg, http://shfl.dn.ua",
c="3.jpg, http://flasher.ru"
)
то есть мне каким то образом надо вытащить ссылку на первую картинку и присвоить ссылку http://...

Добавлено через 2 часа 53 минуты
Хорошо теперь есть другой вопрос, я получил данные из JS (ну точнее массив). Он выглядит так:
1.jpg,2.jpg,3.jpg - как мне его разбить на отдельные картинки и присваивать их моим приатаченным объектам ?
Массив пока без ссылок.


Последний раз редактировалось udaaff; 17.03.2011 в 19:33.
Создать новую тему Ответ Часовой пояс GMT +4, время: 12:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
AS 2.0 , flash , объекты , расставить , сцене

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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