Среда, 20 Ноября 2024, 12:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Можно ли вызывать события без вмешательства пользователя.
GavolotДата: Четверг, 05 Июля 2012, 21:28 | Сообщение # 1
Последователь Тени
Сейчас нет на сайте
Люди а можно ли как-то эмулировать событийные функции =) Ну чтобы вот к примеру я сделал функцию, которая вызывается при нажатии мыши, а можно ли как-то вызвать это событие искусственно в ас3.

В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
FenrireДата: Пятница, 06 Июля 2012, 07:28 | Сообщение # 2
почетный гость
Сейчас нет на сайте
нет ничего проще!
надо написать функцию, которая вызывает функцию. smile
GavolotДата: Пятница, 06 Июля 2012, 08:59 | Сообщение # 3
Последователь Тени
Сейчас нет на сайте
Fenrire, Так а как, там же в параметре фигня с событием. function myClick(e:MouseEvent):void;

В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
ggmanДата: Пятница, 06 Июля 2012, 10:51 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
вынеси весь код из этой функции в отдельную и вызывай уже эту функцию
и в и function myClick(e:MouseEvent):void; и в любом месте где тебе нужно.
Злой_УблюдокДата: Пятница, 06 Июля 2012, 10:56 | Сообщение # 5
Конструктороненавистник
Сейчас нет на сайте
public/private function onClick(e:Event=null):void
{
//Do something awesome!
}

onClick();
Не?


Боже, боже, которого-то в сущности и нет, до чего ты, которого на самом деле-то и нет, довел игродела?!
GavolotДата: Пятница, 06 Июля 2012, 11:13 | Сообщение # 6
Последователь Тени
Сейчас нет на сайте
ща попробую =)

Добавлено (06.07.2012, 11:11)
---------------------------------------------

Quote
вынеси весь код из этой функции в отдельную и вызывай уже эту функцию
и в и function myClick(e:MouseEvent):void; и в любом месте где тебе нужно.

Насчет отдельной функции просто оно будет работать не так как мне нужно, если вызывать именно не событийную.

Добавлено (06.07.2012, 11:13)
---------------------------------------------
Злой_Ублюдок, Слушай спасибо тебе, сам бы не догадался =) Работает в точь-точь как мне надо. И нечего переносить не нужно =) Будто событие сработала.


В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
noTformaTДата: Пятница, 06 Июля 2012, 11:28 | Сообщение # 7
Ukrainian independent game developer
Сейчас нет на сайте
import flash.events.MouseEvent;

function myMouseDown(e:MouseEvent):void
{
trace("myMouseDown call");
}

addEventListener(MouseEvent.MOUSE_DOWN, myMouseDown);

dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));

во флеше событийная модель... Есть листенинг событий - обработка событий, а есть диспатчинг - генерирование событий...


@noTformaT
Злой_УблюдокДата: Пятница, 06 Июля 2012, 11:35 | Сообщение # 8
Конструктороненавистник
Сейчас нет на сайте
noTformaT, по мне так это индуизм какой-то. Без обид.

Боже, боже, которого-то в сущности и нет, до чего ты, которого на самом деле-то и нет, довел игродела?!
noTformaTДата: Пятница, 06 Июля 2012, 11:40 | Сообщение # 9
Ukrainian independent game developer
Сейчас нет на сайте
Quote (Злой_Ублюдок)
по мне так это индуизм какой-то. Без обид.

ахаха...
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/events/EventDispatcher.html


@noTformaT
Злой_УблюдокДата: Пятница, 06 Июля 2012, 11:45 | Сообщение # 10
Конструктороненавистник
Сейчас нет на сайте
noTformaT, в данном конкретном случае. Сам событиями пользуюсь везде.

Боже, боже, которого-то в сущности и нет, до чего ты, которого на самом деле-то и нет, довел игродела?!
noTformaTДата: Пятница, 06 Июля 2012, 11:49 | Сообщение # 11
Ukrainian independent game developer
Сейчас нет на сайте
Quote (Злой_Ублюдок)
данном конкретном случае. Сам событиями пользуюсь везде.

автор - Gavolot, просил узнать как сгенерировать/эмулировать событие... в ссылке что я кинул, в конце есть пример адоба...
твой способ с дефолтными параметрами - просто выполнение метода, а не "вызывание события"...

при таком случае:
function hello(e:MouseEvent = null):void
{
trace(e.targetX, e.targetY);
}

hello(); - вылетит эксепшент из за того что MouseEvent не существует...

и придется переписать на
function hello(e:MouseEvent = null):void
{
if(!e) return;
trace(e.targetX, e.targetY);
}

обработка событий и запуск метода, это совсем разные вещи....


@noTformaT
Злой_УблюдокДата: Пятница, 06 Июля 2012, 11:56 | Сообщение # 12
Конструктороненавистник
Сейчас нет на сайте
Просто у него несколько другая задача.
Если так - то да, dispatchEvent - самое разумное решение.


Боже, боже, которого-то в сущности и нет, до чего ты, которого на самом деле-то и нет, довел игродела?!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг