PDA

Просмотр полной версии : btn2 внутри btn1 работает, но btn2 нельзя сделать невидимой?


Sysrepos
21.05.2008, 04:11
есть кнопка btn1, внутри btn2. btn2 работает, все нормально.

Но нужно сделать, чтоб при событии, btn2 стало невидимым.

КОД

btn1.btn2._visible=false;

не работает, хотя если btn1 сделать MovieClip, тогда visible для btn2 работает.

Как нибудь можно сделать, чтоб btn2 стало невидимым, когда btn1 кнопка?

alexcon314
21.05.2008, 09:18
в вашем исходнике поправте
btn1.instance2._visible = false;
почему так - подумайте сами.

flazher
21.05.2008, 10:54
Не надо намёков - вставте _root!
)_root.btn1.btn2._visible = false;
З.Ы. А што такое инстанс2?

alexcon314
21.05.2008, 11:01
... - вставте _root!

неужели работает?

flazher
21.05.2008, 11:30
Не знаю, но ошибка бросается в глаза

Psycho Tiger
21.05.2008, 11:59
Какая ошибка?

//пишем в _root`e:
var me:Number=0;
trace(me); //0
trace(_root.me); //0
_root.me=1;
trace(me); //1
trace(_root.me); //1

flazher
21.05.2008, 12:14
Причём тут вообще трэйсы???
З.Ы. Может я чего недопонимаю? А то я тоже расту, но мне всё ещё четыре.

Wolsh
21.05.2008, 12:28
Невозможно снаружи Буттона обратиться к вложенным в него символам по именам.
Поэтому instance. Так флэш называет экземпляры символов, которым не назначено имя.
Чем заниматься подобным хаком в стиле АС 0.5 используйте мувиклипы вместо Буттонов, и всё будет замечательно.

flazher
21.05.2008, 12:53
Минутку, а если безымянных символов несколько? Тогда что? Но всё равно ещё одна информация моему нежному неокрепшему мозгу флэшера-идиота! Вопрос задавал не я, но спасибо всё равно! :D

Wolsh
21.05.2008, 13:30
внимательно смотрим - instance1, instance2 и т.д.

вот еще Вам пища для размышлений (см. файлик)
В мувике my_mc находится мувик circle_mc. На втором кадре.
Но Вы не сможете обратиться к нему как к my_mc.circle_mc, пока не перейдете на второй кадр.
Раскомментируйте вторую строку кода - и увидите результат.
А теперь вспомните что такое кнопка.

DJ_Baton
21.05.2008, 20:03
как вариант использовать:

_root.btn2._alpha=0;

это сделает её прозрачной но не уберет

Апдейт... подумал-подумал, походу глупость сморозил, ведь вместе с btn2 всё её содержимое станет невидимым, вывод - делать другую структуру построения логических цепочек

Sysrepos
21.05.2008, 20:40
instance2 в моем исходнике работает, но как я понял instance обращается к объектам в порядке их создания. (или что то вроде этого, вообщем не очень это сейчас практично для моего случая).

хотелось бы чтоб оно нормально все обращалось к с мувиками,
нафиг так адобе(макромедиа) сделали, что к вложенным buttons друг в друга, нельзя обращаться как с мувиками.


_root.btn2._alpha=0;

будет работать только если сделать btn1 сделать мувиком, когда он кнопка, тоже не станет прозрачным

DJ_Baton
21.05.2008, 20:52
будет работать только если сделать btn1 сделать мувиком, когда он кнопка, тоже не станет прозрачным
кто тебе сказал такую чушь ? скрипты альфы работают относительно мувиков, графики, кнопок, всего к чему можно задать инстанс нэйм, разве что только по отношению к динамическому тексту может не работать и то не факт

Wolsh
21.05.2008, 22:14
Скажите, что кроме упрямства мешает Вам использовать не отмененные в прошлом веке Буттоны, а нормальные кашерные мувиклипы? Буттон придумали еще в 20-м веке и поддерживают в этом только для того, чтобы работали СТАРЫЕ программы. Но Вы-то пишете НОВУЮ, пишете в 21-м веке, Вам самому не противно эти Буттоны юзать? Мувиклип может всё тоже, что и Буттон + миллион того, чего Буттон не может. Бросьте Буттоны, сформулируйте понятно, чего хотите добиться, и я обязаюсь решить Ваши затруднения)))) Обещаю.

Sysrepos
22.05.2008, 02:31
кто тебе сказал такую чушь ?

не работает, если символ внутри кнопки, то его инстанс нэйм невидно.

вот, в исходнике:
btn1 , в нем btn2 (btn - кнопки)

код на другой кнопке (или в кадре):
btn1.btn2._alpha=0; //ничего
_root.btn1.btn2._alpha=0;// из этого
_root.btn2._alpha=0; // не работает

исходник

Скажите, что кроме упрямства мешает Вам использовать не отмененные в прошлом веке Буттоны ...


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

Если сейчас начать менять кнопки на мувики (а их много), это везде код нужно заново писать, вообщем долго все это. Если вдруг в следующий раз нужно будет что то подобное делать, то конечно буду без buttons.



архи мега вкратце это для следующего нужно было:

есть менюшки, на них кнопки, вообщем хотел чтоб в кнопках при одних условиях был виден один символ, при других - другой и т.д. на самом деле все сложнее, не могу так объяснить конкретно.
Ну вообщем мой косяк, просто думал каким способом его легче устранить.

iNils
22.05.2008, 03:10
Sysrepos, надо использовать кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, а не создавать несколько сообщений подряд.

chingachgoog
22.05.2008, 11:32
Скажите, что кроме упрямства мешает Вам использовать не отмененные в прошлом веке Буттоны, а нормальные кашерные мувиклипы? Буттон придумали еще в 20-м веке и поддерживают в этом только для того, чтобы работали СТАРЫЕ программы. Но Вы-то пишете НОВУЮ, пишете в 21-м веке, Вам самому не противно эти Буттоны юзать? Мувиклип может всё тоже, что и Буттон + миллион того, чего Буттон не может. Бросьте Буттоны, сформулируйте понятно, чего хотите добиться, и я обязаюсь решить Ваши затруднения)))) Обещаю.

http://flasher.ru/forum/showpost.php?p=739563&postcount=13
Буттоны, старый стиль программирования и даже deprecated конструкции языка - это не синоним слова "плохо". От силы это синоним слова "не модно". У всего есть свои преимущества и нюансы.

Wolsh
22.05.2008, 13:21
Меняете в вашем исходнике тип btn1 с Буттон на Мувиклип и всё работает.
Так сложно будет всё исправить?

2 chingachgoog : я уже года три не писал код на кнопках, поэтому мне сложно сообразить, какие это дает преимущества.
В своей рекламе мувиклипов я исхожу из того, что человек, знающий эти преимущества (как Вы, например), должен сначала знать и преимущества мувиклипов, иначе невозможно произвести сравнение и выбрать вариант, идеальный для конкретного проекта. С этим Вы согласны? А большинство начинающих, как и я когда-то, видят в списке типов "Буттон" и решают, что это и есть то единственное, на что можно нажать))))). То есть здесь не принципиальный спор, для всего есть подходящее применение. В некоторых случаях проще пользоваться Буттонами, но уметь пользоваться мувиклипами я считаю ОБЯЗАТЕЛЬНЫМ.

Sysrepos
22.05.2008, 16:05
http://flasher.ru/forum/showpost.php?p=739563&postcount=13


там кнопки работают, потому что код прям на них написан,
но если обратится к кнопке, вложенной в кнопку из кадра певрого таймлайна, то ничего не получится. (если только с instance)

Wolsh: Меняете в вашем исходнике тип btn1 с Буттон на Мувиклип и всё работает.

в исходнике который здесь, да, но то что у меня на карте, там уже не получится,
на каждой кнопке уже написан код, если менять на movieClip, то код исчезнет, и нужно заново его переписывать

flazher
22.05.2008, 16:10
Не понял, что за неоправданная неприязнь к батонам? Батоны были, есть и будут есть и клип это только роскошь, если его юзать, как батон. Для начального уровня AS батон это само то
ну вообщем я делаю карту во флеше (диплом), до этого флеш в глаза не видел, сразу начал делать, что кнопки это кнопки, мувиклип - мувиклип.
Я лично всегда батонами пользовался и если какой нибудь умный супер програмёр решит поумничать - милости просим, а батоны так и останутся в ходу, несмотря ни на что. Вот так вот.

lexa2000lexa
22.05.2008, 16:40
там кнопки работают, потому что код прям на них написан,
но если обратится к кнопке, вложенной в кнопку из кадра певрого таймлайна, то ничего не получится. (если только с instance)

ну ведь там написанно при каких условиях будет работать эта схема...

chingachgoog
22.05.2008, 16:45
В своей рекламе мувиклипов я исхожу из того, что человек, знающий эти преимущества ..., должен сначала знать и преимущества мувиклипов... С этим Вы согласны?


на 100%
Но тут именно тот случай, когда флеш дает возможность использовать кнопку в кнопке (или кнопку в мувиклипе-кнопке). С мувиклипами это напрямую не пройдет. Придется использовать хитТест, например.

iNils
22.05.2008, 16:47
Не понял, что за неоправданная неприязнь к батонам? Батоны были, есть и будут есть и клип это только роскошь, если его юзать, как батон.Я так понимаю на AS1 пишите? Как только доберетесь до AS2, про баттоны забудете.

С ними нельзя:
1. Зафиксировать состояние
2. Сделать анимировные переходы.
3. Создать динамический контент, например текст.

chingachgoog
22.05.2008, 16:52
Я так понимаю на AS1 пишите? Как только доберетесь до AS2, про баттоны забудете.
С ними нельзя:
1. Зафиксировать состояние
2. Сделать анимировные переходы.
3. Создание динамичсекого контента, например текста, превращается в головную боль.


iNils, а что нельзя в AS1 фиксировать состояния, делать анимированные переходы и создавать динамический контент? :)

iNils
22.05.2008, 16:57
Это должно было быть два разных абзаца :)

Wolsh
22.05.2008, 19:10
Для начального уровня AS батон это само то
Я вообще не знаю, какое отношение имеет батон к АС. Он никак скриптом не управляется. Или Вы думаете, что он(пресс){гетУРЛ()} это АС? Это команды панели Экшнс из флэш 4. И что такое начальный уровень? Почемуто принято считать, что начальный уровень - это АС 1, а лучше вообще АС 0.5. И надо типа сначала как следует научиться писать код на кнопках, чтобы потом, уже во всеоружии, браться за код в кадрах и классы. Бред. На самом деле, чтобы создать на АС 0.5 чтото сложнее двигающегося по иксу прямоугольника, надо быть олдовым хакером. Правильно Вам iNils говорит - как попробуете сделать чтото сложное и динамичное, так и конец вашей любви к батонам, у которых есть одна единственная функция - нажиматься))))

Psycho Tiger
28.05.2008, 12:34
Ну, вообще баттон не столь безполезен, как вы тут его ругаете.
Точные цифры не помню, но баттон занимает примерно в 4 раза меньше оперативной памяти, чем мс (при условии одинакого хранения информации в них).
Для сумашедших флэшеров, гоняющихся за освобождение 3 кб памяти это само то )))

Wolsh
28.05.2008, 15:34
при условии одинакого хранения информации в нихДа ну? )))) Тут вроде не забыли, что даже имена вложенных в кадры буттона клипов не сохраняются.
Ну вобщем я сказал - всему свое применение. Дело только в том, что этот вечный уже спор возникает как раз тогда, когда чел не знает как ему добиться от батона желаемого. Ибо батон этого желаемого и не предполагал уметь. Однако приходится на трех страницах доказывать такую простую и очевидную вещь! Если бы человеку надо было просто кнопку чтоб нажать, то и вопросов бы не было. Для этого есть буттон. Для управляемого поведения - мувиклип.

DJ_Baton
29.05.2008, 09:00
мда.. видимо человек чё-то не так делает )) альфа кнопкам в AS2 в восьмом флэше отлично передается если правильно инстансы прописаны