![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2004
Сообщений: 1
|
шеф тут прикололся надо мной
поставил задачу сделать кату города на которую будут стаиться некоторые отметки (флажки) по объектам причем метки разного цвета в зависимости от их занятости (3 цвета) метки и координаты для них должны раться из базы и при шелчке по метке передавать ID метки в ASP страницу естественно что оператор сайты будет эти метки и вставлять я знаю как реализовать ASP + MsSQL но со флешем почти не работал поможите плиз откуда начинать может есть у кого примеры на флеше, поковырять я перебрал много форумов многие этим интересуются но толком нигде о этом нет инфы думаю эта тема будет интересна многим |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
ситуация достаточно проста.
разумеется есть карта для начала. чтобы расставить метки посылаем запрос на сервак m_xml = new XML() m_xml.ignoreWhite=true, m_xml._parent = this m_xml.load("blablabla.asp?r="+new Date().getTimer()) нам возвращается xml: <metki> <flag_mc _x="20" _y="40" mid="0" /> <flag_mc _x="30" _y="42" mid="1" /> <flag_mc _x="32" _y="47" mid="2" /> </metki> - это на 3 метки на m_xml.onLoad смотрим, все ли в порядке и расставляем метки: m_xml.onLoad = function (ok) { if (!ok || this.status) return trace("loaded: " + ok + " valid: " + !this.status) } // this._parent.addFlags(this.firstChild.childNodes) } разумеется тут же прописываем addFlags: this.addFlags = function (in_array) { var mc = _root.createEmptyMovieClip("targ_for_flags_mc", 0) var i = 0, len = in_array.length, n for (i; i<len; i++) { n = in_array[i].nodeName mc.attachMovie(n, n+i, i, in_array[i].attributes) } } разумеется в библиотеке должен быть мувик, залинкованный под именем flag_mc мувик приаттачится нужное количество раз, все они встанут на нужные позиции и будут иметь в себе значение mid. дальше: прописываешь простенький класс для flag_mc: внутри него в верхнем первом кадре: #initclip FlagClass = function () {}, tmp = FlagClass.prototype = new MovieClip(), Object.registerClass("flag_mc", FlagClass ) delete FlagClass tmp.onRelease = function () { trace("flag: " + this.mid) // с этим делаешь чего хочешь } delete tmp #endinitclip это почти готовое решение... просто по ситуации некоторые вещи смотреть надо. если бы не пояснения, вся работа заняла бы меньше 10 минут. |
![]() |
Часовой пояс GMT +4, время: 16:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|