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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.04.2002, 02:08
ader вне форума Посмотреть профиль Отправить личное сообщение для ader Посетить домашнюю страницу ader Найти все сообщения от ader
  № 1  
ader
 
Аватар для ader

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
По умолчанию графический рейтинг посещений (flash MX) - гистограма

Народ?. как такое делают?!?
http://europa.fixedoddsgroup.com/indexpages/MLT-GB.html

( справа рейтинг )

Я ещё до посещения этой ссылки, как узнал что флеш MX рисовать может программно, заразился идеей сделать гистограмный график посещений (как в примере).

Только я вот только вчера этот самый флеш выкачал.. и нифига ещё не прошарил, как рисовать там..
Кто знает флеш MX подскажите, хотя-бы (или пример пришлите, я думаю это не только мне полезно будет) как хотя-бы простую линию нарисовать программно?.. БО в той обучалке что на сайте лежит, я, мягко говоря, .. ну вы поняли ..
Я не очень силён (пока ещё) в екшин скрипте, и спец термины типа "масив" и "функция" и var`ы, которые куда-то указывают - для меня к сожалению тёмный лес..

А теперь к делу.
Я себе представляю это так. В базе данных, к примеру mySQL лежит список из айпишников и время када они заходили.
Нехитрый пхп скрипт эти данные может выдать для более удобного и понятного облика для флеш. Ну там переменная=зачение.

Во флеше это естественно всё грузится loadVaribles.
И начинается самое страшное. 8).
Допустим можно разбить данные на 30 переменных, это будут как бы опорные точьки для линии графика. каждая из переменных это как бы один день.. ну и значение этих переменных, это количество заходов в этот день. Ну а визуально это выглядит так, что значение переменной опрелиляет положение опорной точьки по осе Y (по вертикали). в принцыпе вроде всё просто.. ..
только, есть одна загвоздка... посещения не бывают в каких-то рамках, и максимальное значения надо что-бы было динамическим.. и тут надо как-то ещё разбить значения и делить их , короче.. одна хрень 8)..
ну я думаю надо просто брать максимальное значение которое есть у всех этих 30 переменных (пхп с этим справится без проблем) и задать ещё одну 31 переменную где это значение будет красоватся.. и во флеше разделить его на н-ное число... (ну смотря какой размер окна флеша и смотря сколько опорных точек надо для наиболее привлекательной гистограммы ).
Вот так я это себе представляю.. ..
Если что-то я не так преставил, скажите плиз...

Старый 09.07.2002, 23:47
G.W.M вне форума Посмотреть профиль Отправить личное сообщение для G.W.M Посетить домашнюю страницу G.W.M Найти все сообщения от G.W.M
  № 2  
G.W.M

Регистрация: Jan 2000
Адрес: израил
Сообщений: 116
Отправить сообщение для G.W.M с помощью ICQ
вот имена так если хочеш па патробнеё скачаё атсюда
http://fosisoft.home.ro/
SWF Decompiler MX 2002 Pro
все сорсы паказывает если разберошся как такое рисават дай знат...
а вот их сорс:
// Action script...

function PlotGraph()
{
if (index != "false")
{
errorindex = "No Data";
}
else if (index == "false")
{
errorindex = "";
} // end if
stocknameshow = stockname;
_root.scaledif = maxi - mini;
scale = scaledif / _root.graphheight;
_root.scaledifdaily = dailyhigh - dailylow;
scaledaily = scaledifdaily / _root.graphheight;
yposdef = new Array();
yposdefdaily = new Array();
if (index == "false")
{
for (count = 1; TOTALTICKS >= count; count++)
{
ypos[count] = parsefloat(ypos[count], 10);
yposdef[count] = _root.graphheight + _root.spacegraphtop - (ypos[count] - mini) / scale;
} // end of for
} // end if
for (count = 1; count <= 60; count++)
{
yposdaily[count] = parsefloat(yposdaily[count], 10);
yposdefdaily[count] = _root.graphheight + _root.spacegraphtopdaily - (yposdaily[count] - dailylow) / scaledaily;
} // end of for
for (i = 1; i <= 6; i++)
{
_root.griddisplay.duplicateMovieClip("griddisplay" + i, i + 200000000);
_root["griddisplay" + i]._y = spacegraphtop + (graphheight + 8) - (graphheight + 8) / 5 * (i - 1);
_root["griddisplay" + i]._x = 52;
_root.griddisplaydaily.duplicateMovieClip("griddisplaydaily" + i, i + 300000000);
_root["griddisplaydaily" + i]._y = spacegraphtopdaily + (graphheight + 8) - (graphheight + 8) / 5 * (i - 1);
_root["griddisplaydaily" + i]._x = 52;
} // end of for
grid = (maxi - mini) / 5;
griddaily = (dailyhigh - dailylow) / 5;
if (index == "false")
{
_root.griddisplay1.disp = Round(mini, 4);
_root.griddisplay2.disp = Round(grid + mini, 4);
_root.griddisplay3.disp = Round(grid * 2 + mini, 4);
_root.griddisplay4.disp = Round(grid * 3 + mini, 4);
_root.griddisplay5.disp = Round(grid * 4 + mini, 4);
_root.griddisplay6.disp = Round(maxi, 4);
for (i = 1; i <= 6; i++)
{
if (_root["griddisplay" + i].disp > 99)
{
_root["griddisplay" + i].disp = Round(_root["griddisplay" + i].disp, 3);
} // end if
} // end of for
} // end if
_root.griddisplaydaily1.disp = Round(dailylow, 4);
_root.griddisplaydaily2.disp = Round(griddaily + dailylow, 4);
_root.griddisplaydaily3.disp = Round(griddaily * 2 + dailylow, 4);
_root.griddisplaydaily4.disp = Round(griddaily * 3 + dailylow, 4);
_root.griddisplaydaily5.disp = Round(griddaily * 4 + dailylow, 4);
_root.griddisplaydaily6.disp = Round(dailyhigh, 4);
for (i = 1; i <= 6; i++)
{
if (_root["griddisplaydaily" + i].disp > 99)
{
_root["griddisplaydaily" + i].disp = Round(_root["griddisplaydaily" + i].disp, 3);
} // end if
} // end of for
if (index == "false")
{
if (_root.griddisplay1.disp < 1)
{
_root.griddisplay1.disp = "0." + _root.griddisplay1.disp;
} // end if
if (_root.griddisplay2.disp < 1)
{
_root.griddisplay2.disp = "0." + _root.griddisplay2.disp;
} // end if
if (_root.griddisplay3.disp < 1)
{
_root.griddisplay3.disp = "0." + _root.griddisplay3.disp;
} // end if
if (_root.griddisplay4.disp < 1)
{
_root.griddisplay4.disp = "0." + _root.griddisplay4.disp;
} // end if
if (_root.griddisplay5.disp < 1)
{
_root.griddisplay5.disp = "0." + _root.griddisplay5.disp;
} // end if
if (_root.griddisplay6.disp < 1)
{
_root.griddisplay6.disp = "0." + _root.griddisplay6.disp;
} // end if
} // end if
if (_root.griddisplaydaily1.disp < 1)
{
_root.griddisplaydaily1.disp = "0." + _root.griddisplaydaily1.disp;
} // end if
if (_root.griddisplaydaily2.disp < 1)
{
_root.griddisplaydaily2.disp = "0." + _root.griddisplaydaily2.disp;
} // end if
if (_root.griddisplaydaily3.disp < 1)
{
_root.griddisplaydaily3.disp = "0." + _root.griddisplaydaily3.disp;
} // end if
if (_root.griddisplaydaily4.disp < 1)
{
_root.griddisplaydaily4.disp = "0." + _root.griddisplaydaily4.disp;
} // end if
if (_root.griddisplaydaily5.disp < 1)
{
_root.griddisplaydaily5.disp = "0." + _root.griddisplaydaily5.disp;
} // end if
if (_root.griddisplaydaily6.disp < 1)
{
_root.griddisplaydaily6.disp = "0." + _root.griddisplaydaily6.disp;
} // end if
for (i = 0; passedtickcount >= i; i++)
{
removeMovieClip("line" + i);
} // end of for
if (index == "false")
{
for (count = 1; count < TOTALTICKS; count++)
{
_root.line.duplicateMovieClip("line" + count, count + linedepth);
_root["line" + count]._x = _root.spacegraphleft + _root.linewidth * (count - 1);
_root["line" + count]._xscale = _root.linewidth;
_root["line" + count]._y = yposdef[count];
_root["line" + count]._yscale = yposdef[count + 1] - yposdef[count];
} // end of for
} // end if
for (count = 1; count < 60; count++)
{
_root.linedaily.duplicateMovieClip("linedaily" + count, count + 3000);
_root["linedaily" + count]._x = _root.spacegraphleft + 2.034000 * (count - 1);
_root["linedaily" + count]._xscale = 2.034000;
_root["linedaily" + count]._y = yposdefdaily[count];
_root["linedaily" + count]._yscale = yposdefdaily[count + 1] - yposdefdaily[count];
} // end of for
passedtickcount = TOTALTICKS;
countmaxprev = countmax;
_root.markers.last = 0;
_root.markers.last = _root.ypos[TOTALTICKS];
_root.markers.high = maxix;
_root.markers.low = minix;
_root.markers.date = date;
if (change > 0)
{
_root.markers.change = "+" + change;
}
else
{
_root.markers.change = change;
} // end if
if (changeper != "")
{
if (changeper > 0)
{
_root.markers.changeper = "+" + changeper + "%";
}
else
{
_root.markers.changeper = changeper + "%";
} // end if
}
else
{
_root.markers.changeper = "";
} // End of the function
} // end if
_root.dropdownmenu.selectionbox.dropdownvalue = "USD/Japanese Yen";
index = "false";
nufc = "pingas";
_root.cover.duplicateMovieClip(cover2, 1000000);
_root.dropdownmenu.swapDepths(500000000001.000000);
_root.firstmov.swapDepths(500000000003.000000);
_root.firstmov.selection = "2";
tellTarget(_root.firstmov)
{
__________________
зарание на ашыбки не сматрет 11 лет как неписал на руска...
зайдите на сайт паиграт в игрй может время будет новйе закину

Создать новую тему   Часовой пояс GMT +4, время: 06:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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