|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2012
Сообщений: 13
|
переход на другой кадр с помощью Enter
Здравствуйте!
Суть дела: есть кадр, на нем расположены 4 радио-кнопки (rad1, rad2, rad3, rad4) и одна обычная кнопка(dalshe), по которой происходит переход на следующий кадр, с учетом того какая из радио-кнопок выделена. Переход на следующий кадр может происходить как с помощью нажатия(dalshe), так и с помощью нажатия кнопки ENTER. Проблема: когда не отмечен ни один radio-button, при нажатии кнопки ENTER происходит какая-то быстрая смена кадров, что неверно. По идее если не активна ни одна радио-кнопка, то я ловлю ошибку. В общем enter в таком случае не работает. Помогите пожалуйста решить проблему. Если я просто кликаю на кнопку на кадре (dalshe), то все отлично и все работает. Код, того что стоит на кадре и реагирует на Enter при любой активной радио-кнопке: var kl:Object = new Object(); kl.onKeyDown = function () { if (Key.getCode() == Key.ENTER) { trace("Зашли в функцию кнопки ЕНТЕР"); if(rad1.selected== false && rad2.selected== false && rad3.selected== false && rad4.selected== false) { muv1._alpha = 100; dalshe.enabled = false; } else { if(rad2.selected == true) { _global.prav3+=1; trace("все правильно выбрали"); } else { trace("неправильно выбрали"); } gotoAndStop(7); } } }; rad1.onSetFocus = function () { Key.addListener(kl); }; rad2.onSetFocus = function () { Key.addListener(kl); }; rad3.onSetFocus = function () { Key.addListener(kl); }; rad4.onSetFocus = function () { Key.addListener(kl); }; |
|
|||||
Непонятно что у вас там вообще.
Радио-кнопка должна быть включена ТОЛЬКО одна... Где сброс выбранных прочих? Зачем через ФОКУС, а не через нажатие? Радио-кнопки у вас написаны непонятно через что и зачем... |
|
|||||
Регистрация: Aug 2012
Сообщений: 13
|
со сбросом ступила уже столкнулась с этим и добавилось к коду
rad1.onKillFocus = function () { Key.removeListener(k5); }; rad2.onKillFocus = function () { Key.removeListener(k5); }; rad3.onKillFocus = function () { Key.removeListener(k5); }; rad4.onKillFocus = function () { Key.removeListener(k5); }; радио-кнопки добавляла через панель components. Зачем они нужны? кадр представляет собой страницу теста, отвечая на вопрос пользователь кликает на какую-нибудь радио-кнопку, а затем с помощью enter переходит к следующему вопросу(т.е. к следующему кадру) |
|
|||||
Проще свои кнопки написать.
function initRadio( mov, actual, ARR, func ){ mov.activeId = actual; for ( var i=0; i<ARR.length; i++){ var rad = mov["BR"+i] rad.caps.text = ARR[i] rad.id = i; rad.pad.onRelease = function(){ mov.activeId = this._parent.id func( mov.activeId ) mov.setRadio() } } mov.setRadio = function( force ){ if ( force != undefined ) this.activeId = force; for ( var i=0; i<ARR.length; i++){ this["BR"+i].SEL._visible = false } this["BR"+this.activeId].SEL._visible = true } mov.setRadio() func( mov.activeId ) } |
|
|||||
Регистрация: Aug 2012
Сообщений: 13
|
спасибо. Честно говоря я ещё новичок, поэтому ваш код неочень понятен, сижу и втыкаю
|
|
|||||
Делаешь клип.
В нем два клипа с названием SEL - это типа отметка радиокнопки, внутр. часть и pad - это низлежащий клип, который обрабатывает нажатия. Рисуешь нужное кол-во кнопок и называешь их BR1, BR2 и так далее ARR - массив с подписями к кнопкам. Типа mov - это то, где радио кнопки лежат |
Часовой пояс GMT +4, время: 23:13. |
|
« Предыдущая тема | Следующая тема » |
Теги |
enter , radio-button , кадр , переход |
|
|