PDA

Просмотр полной версии : Mouse events are permitted only for button instances


kullertrader
16.07.2010, 10:29
**Error** Symbol=form1, layer=Layer 1, frame=65:Line 2: Mouse events are permitted only for button instances
on (press, keyPress "<Space>") {
_visible = false;
}
чё это значит парни ?
перевёл , бред какой-то - "события мышки разрешаются только для кнопок ................"
НЕ подскажете , чё не так ?

mooncar
16.07.2010, 10:55
Вы, как я понял, пишите код в кадре, это правильно.
Назовите кнопку на сцене, например, btn.
Тогда в кадре код будет такой:
btn.onPress = btnOnPress;

Key.addListener(this);

this.onKeyDown = function ()
{
if (Key.isDown(Key.SPACE))
{
btnOnPress();
}
};

function btnOnPress ()
{
btn._visible = false;
}
Функция btnOnPress сработает и на нажатие кнопки и на нажатие пробела.

Хемуль
16.07.2010, 15:04
перевёл , бред какой-то - "события мышки разрешаются только для кнопок ................"
Мышиные события разрешены только для экземпляров кнопок.
Обработчики событий с on() можно использовать только на экземплярах кнопок или мувиклипов, но не на кадрах таймлайна.

kullertrader
18.07.2010, 22:00
то есть к кнопке , присваивается клавиша ?

mooncar
18.07.2010, 22:04
Автор, в моем коде есть два основных куска, поскольку вы хотели действие _visible = false на нажатие кнопки и на нажатие клавиши пробела:
Отдельно на нажатие кнопки btn:
btn.onPress = btnOnPress;
function btnOnPress ()
{
btn._visible = false;
}

Отдельно на нажатие клавиши "Пробел":
Key.addListener(this);

this.onKeyDown = function ()
{
if (Key.isDown(Key.SPACE))
{
btnOnPress();
}
};

function btnOnPress ()
{
btn._visible = false;
}

Т.е. исп. одну и ту же функцию для разных событий.
Только не пишите код на кнопке.