PDA

Просмотр полной версии : карта мира... помогите..


Athin
01.09.2005, 17:46
О Великие, помогите... есть карта мира и в зависимости от того, какие параметры пришли через html, необходимо чтобы разные страны выглядели разным цветом. Как это сделать? Все страны - это symbols(buttons). при наведении на них они темнеют. для них описаны события on (rollOut) и on (rollOver).
код :
var mc = attachMovie("belarus_but","belarus_but",6);
(new Color("belarus_but")).setRGB(0xabcdef);
работает не правильно :( цветом заливается вообще все, а не отдельная страна. "belarus_but" - это Identificator для кнопки.

Перерыл кучу литературы, а чего-то подходящего не нашел :(

Заранее пасиб.

iNils
01.09.2005, 17:54
а attachMovie там зачем?

Athin
01.09.2005, 18:08
крик души :( а реально эт просто единственный способ что я нашел при оипсании доступа к объектам с заданными идентификаторами

iNils
01.09.2005, 18:12
эт просто единственный способ что я нашел при оипсании доступа к объектам с заданными идентификаторами
чего чего?

Athin
01.09.2005, 18:34
сорри за терминологию, я просто немного с другими вещами работаю все время :(
на кнопке можно щелкнуть правой кнопкой и выбрать "linkage". там задается Identificator.. и вот это был единственный способ который я нашел чтобы хоть как-то задействовать имя этого идентификатора :((
Вопрос : а как правильно?

iNils
01.09.2005, 18:44
я знаю как задается идентификатор. я пытаюсь понять что ты там делаешь. у тебя кнопки программно на сцену устанавливаются?
дай исходник.

swfus
02.09.2005, 11:21
А зачем идентификатор?
Передаешь из хтмл данные например через loadvars,
Во флэше их анализируешь, в зависимости от них закрашиваешь что нужно.
Или проблема в закраске?

iNils
02.09.2005, 11:44
Или проблема в закраске?
Проблемы в формулировке вопроса. Твой вопрос звучит примерно так?

Я ударил молотком по гвоздю, потому что только так я смог применить молоток.
Зачем мне молоток?
Просто у меня есть краска и мне нужно покрасить ей стены.

iNils
02.09.2005, 11:49
Identificator в библиотеки применяется только для того чтобы создать экземпляр символа (образца) из библиотеки. Также для того чтобы связать конструктор класса экземляра с символом (образецом).

swfus
02.09.2005, 11:53
про молоток и краску это сильно :d , надеюсь ты это не мне?

iNils
02.09.2005, 11:57
про молоток и краску это сильно :d , надеюсь ты это не мне?
тебе, тебе :)
по мойму ты хватаешься за вещи, но не знаешь для чего они.
поэтому подумай и сформулирую полностью свою задачу. что ты хочешь получить.

Double
02.09.2005, 11:57
(образецом)
насмешил :D

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

swfus
02.09.2005, 12:12
да уж, насмешил, а ведь скажут, что это я не умею формулировать вопрос :D
( а скажут что нас было четверо &copy )

Athin
02.09.2005, 12:38
проблема именно в закраске :( я не знаю как через actionscript закрасить определенную область :(
Исходник приаттачен

swfus
02.09.2005, 12:58
так там просто, у тебя континенты/страны в виде кнопок.
Нажми даблклик на кнопку, и посмотри какая она в состоянии Over.

Если не понятно то можешь продолжать - что конкретно тебе надо получить?

Athin
02.09.2005, 13:21
как-тока карта загрузилась (а еще лучше до загрузки) мне надо те страны, что пришли в качестве параметра зарисовать например желтым цветом и сделать прозрачнось = 50.

swfus
02.09.2005, 13:33
можно так:

north_america_mc._alpha=50;
myColor = new Color(north_america_mc);
myColor.setRGB("0xE0EC00");

Где north_america_mc - это имя в properties у континента на основной сцене.

Athin
02.09.2005, 13:47
прости глупого, но имя в properties выставляется в Library? если да, то там уже написано имя : например north_america_but. Если этот код кставить, тока с именем north_america_but, а не north_america_mc, то нифига не работает :(( или я не там вставляю.. ? (я вставляю в первом frame в ActionScript (layer name) )

swfus
02.09.2005, 13:49
т.е. так :) :
if(vars1=="north_america"){
north_america_mc._alpha=50;
myColor = new Color(north_america_mc);
myColor.setRGB("0xE0EC00");
}
vars1 - переменная котороая пришла
Ну а если у тебя много мувиков, то надо делать по грамотному, с массивами, или еще как.

swfus
02.09.2005, 13:54
не в лайброри, а на основной сцене, где у тебя карта мира, кликаешь на континет, жмешь ctrl+F3, и вместо <instance name> ставишь.

swfus
02.09.2005, 13:59
Хотя в 5-м плеере все-равно работать не будет.
А у тебя 5-й флэш стоит? или специально публикуешь для 5-го?
Короче Ctrl+Shift+F12 , вкладка Flash , version 5 поменяй на 6 или 7.

Athin
02.09.2005, 13:59
с поиском все понятно... :)) непонятно с north_america_mc.. а можно по пунктам где эт взять и потом куда вставить? :))

Athin
02.09.2005, 14:06
все, заработало!!!! большое спасибо!!!!!!!!!!!!!! если надо помощь в java/c++ - всегда к услугам. :))))))))))))))))))))))))))))))))))))))))))))