![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2006
Сообщений: 36
|
проблема:
делаете новый файл. В него кладете combobox. Никакого скрипта и имени даже пока ненадо. Рисуете яшик, F8-кнопка. теперь напишем ей on(release) {trace("pressed");}. Если один раз опустить combobox, то после етого на кнопке trace неработает если мышью не шевелить. Ето офигенный баг или какимто образом фиксится?? листенеры change и dropdown._lockroot = false недают ничего. |
|
|||||
|
4AM Games
|
1 ) на этом форуме, запрещается юзать пятерочный синтаксис для версий плеера 6 и выше( а вы юзаете).
2) юзаем вместо него onRelease 3) у меня все работает //рисуем ComboBox
import mx.controls.ComboBox;
var cb:ComboBox = createClassObject(ComboBox,"ComboBox",2,{dataProvider:["hello","morining","afternoon","evening","hi"]});
//рисуем кнопку
var button:MovieClip = drawSquare(0,0,100,100,this);
button._y = 50;
button.onRelease = function ():Void
{
trace(this);
}
//ComboBox лучше расположить выше кнопки
button.swapDepths(cb);
//метод который рисует кнопку
function drawSquare(x:Number,y:Number,w:Number,h:Number,parent:MovieClip):MovieClip
{
var d:Number = parent.getNextHighestDepth();
var result:MovieClip = parent.createEmptyMovieClip("mc"+Math.round(Math.random()*100)+d,d);
result.beginFill(0xFF6600);
result.moveTo(x,y);
result.lineTo(x,y+h);
result.lineTo(x+w,y+h);
result.lineTo(x+w,y);
result.lineTo(x,y);
result.endFill();
return result;
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 36
|
неделает никакой разницы.
movieclip.onRelease = function() {trace("aaa");} все остается точно также. програмно кнопка нарисована или нет неимеет значения, и данный синтаксис тут не причем. кидаю файл. |
|
|||||
|
4AM Games
|
Цитата:
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 36
|
кстати, твой скрипт как раз тоже не работает.
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 36
|
нажми 5 раз на кнопку - каждый раз будет trace. теперь опусти и закрой dropdown. нажми НЕ ШЕВЕЛЯ мышю еше раз 10 на кнопку. trace будет только первый раз.
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
2 Nirth
И в твоем примере тот же баг. Главная фишка в том чтобы после открытия комво навести на мувик и НЕ смещая мышку ни на пиксель в стороны, просто кликать (мувик перестает "отвечать"). Локализация бага показала что проблема в маскировании, а точнее в маске, котороя создается единожды при первом дроп дауне. Местоположение локализации примерно 232 строка функции getDropdown() класса mx.controls.ComboBox "__dropdown.setMask(mask);" При комментировании строки клип нормально отвечает, но компонент естественно работает не корректно... ![]() PS Возможно все несколько глубже, буду рад если кто-нибудь раскопает... |
|
|||||
|
4AM Games
|
вообще в флэше мышка не всегдка корректно работает, скажем если убрать кнопку из под мышки, она только на слейдующем движении сообразит что она уже не на кнопке.
Баг увидел, я так понимаю это из за выезжающего меню. В принципе вполне логично, компоненты разрабатывались для работы вместе //рисуем ComboBox
import mx.controls.*;
var cb:ComboBox = createClassObject(ComboBox,"ComboBox",2,{dataProvider:["hello","morining","afternoon","evening","hi"]});
//рисуем кнопку
var btn:Button = createClassObject(Button,"Button",1,{label:"Click Me"});
btn.move(0,50);
function traceMe(evt:Object):Void {
trace(this);
}
btn.addEventListener("click",traceMe);
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 36
|
но ведь дело не только в компонентах.
если компонент некорректно работает с обычными мувиклипами, ето баг... у меня сотни всяких драг-дропов мувиклипов, даблкликов на мувиклипы и т.п. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|