IPB

Здравствуйте, гость ( Вход | Регистрация )

> flash и csv
Kukuruzo
сообщение 20.02.2011 - 09:16
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 7
Регистрация: 20.02.2011
Пользователь №: 10337



доброго времени суток!

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

я абсолютный новичок в этом, буду рада если вы дадите мне вектор направления, и с чего нужно начать! rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов (1 - 6)
Nekonosan
сообщение 20.02.2011 - 13:12
Сообщение #2


Новичок
*

Группа: Пользователь
Сообщений: 9
Регистрация: 18.12.2010
Пользователь №: 10240



Что записывается в CSV, есть ли там привязка цвета к региону?
CSV уже подгружается во флешку или ещё нет?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kukuruzo
сообщение 20.02.2011 - 13:57
Сообщение #3


Новичок
*

Группа: Пользователь
Сообщений: 7
Регистрация: 20.02.2011
Пользователь №: 10337



в файле записывается название региона и определенное значение по региону. всего регионов 16.
привязки цвета к региону нет.. и подгрузки во флеш пока тоже нет
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tiHo
сообщение 20.02.2011 - 23:23
Сообщение #4


C:\>
*****

Группа: Супермодераторы
Сообщений: 1599
Регистрация: 10.04.2006
Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский.
Пользователь №: 293



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

Вот пример разбора csv файла на as3:

Код
var csvLoader:URLLoader = new URLLoader();
csvLoader.dataFormat = URLLoaderDataFormat.TEXT;
csvLoader.load(new URLRequest("sample.csv"));
csvLoader.addEventListener(Event.COMPLETE,CSVLoaded);

function CSVLoaded(e:Event):void {
    var str:String = csvLoader.data as String;
    var arr:Array = str.split("\n");
    for (var i:int=0; i<arr.length; i++) {
        arr[i] = arr[i].split(';');
    }
    trace(arr[2][1]);
}


Для вектора достаточно.

Так же смотрите как работать с массивами.


--------------------
Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 21.02.2011 - 00:51
Сообщение #5


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4828
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
flash и csv

Kukuruzo

На флеше легко можно реализовать работу с CSV данными и решить твою задачу.

Цитата
и подгрузки во флеш пока тоже нет

Начни с реализации загрузки данных во флеш. Тему загрузки данных (в том числе текстовых) мы многократно на форуме и в нашей рассылке обсуждали (и приводили примеры кода для разных версий AS). Чтобы тебе не нужно было долго искать, tiHo привёл тебе пример кода на AS3.

Цитата
в файле записывается название региона и определенное значение по региону.

Формат файла у тебя будет следующим:
Код
Регион1;10
...
Регион16;50

Данные занесёшь в массив, как показал tiHo. Рекомендую использовать двумерный массив, чтобы содержать в двух ячейках название региона и значение по нему.

Далее тебе нужно решить, будешь ли ты цвет заносить в csv файл (третьим столбцом), чтобы сразу брать цвет и задавать его своей флеш карте, или все же будешь по значению региона задавать интенсивность. Как я вижу, ты настроилась на второй вариант. В этом случае после парсинга данных из файла и занесения в массив, пройдись по массиву и по выбранному тобою алгоритму задай интенсивность элементам карты.

Как вариант могу предложить использовать прозрачность. Если у тебя значения по регионам не выше 100, то их и используй, а иначе нормируй (чтобы было не выше 100). После чего задавай свойству _alpha (для AS1/AS2) / alpha (AS3) элемента карты значение данного региона (в интервале от 0 до 100).


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kukuruzo
сообщение 21.02.2011 - 20:37
Сообщение #6


Новичок
*

Группа: Пользователь
Сообщений: 7
Регистрация: 20.02.2011
Пользователь №: 10337



Спасибо большое!

буду пробовать! wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 22.02.2011 - 01:52
Сообщение #7


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4828
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Kukuruzo

Всегда пожалуйста.

Разбирайся с этим wink.gif.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 14.05.2013 - 18:04