PDA

Просмотр полной версии : Вызов функции с дополнительными параметрами


Boromir
28.12.2012, 19:39
Добрый день! Программировать начал совсем недавно, и поэтому возник детский вопрос. Предыстория такова:
Есть конкретная цель - forAllFunc делает действия над свойствами переданного в нее игрока. Приведенный ниже код - это работающая модель, но вопрос мой в другом - Можно ли передать игрока непосредственно внутри листенера прямо во forAllFunc, или все-таки на каждого нужно создавать эти недо-функции типа playerNfunc?

player1_score.addEventListener(MouseEvent.CLICK, player1func);
player2_score.addEventListener(MouseEvent.CLICK, player2func);

function player1func(e:MouseEvent){
forAllFunc(player1);
}
function player1func(e:MouseEvent){
forAllFunc(player2);
}
function forAllFunc(player:Player){
//Какие-то действия со свойствами и методами переданного playerN

}

udaaff
28.12.2012, 19:49
Создайте собственное событие и передавайте через него.

Boromir
28.12.2012, 19:53
Создайте собственное событие и передавайте через него.

Я совсем недавно начал программировать, буквально несколько дней назад, поэтому не совсем понимаю, как создать собственное событие. Может помогите с данным конкретным примером или дайте ссылку на статью в мануале. Большое спасибо!

expl
28.12.2012, 20:17
Угу,
player1_score перехватывает у себя же MouseEvent.CLICK и посылает новое событие PlayerScoreEvent.PLAYER_CLICK с полем player_score.

udaaff
28.12.2012, 20:25
Угу,
player1_score перехватывает у себя же MouseEvent.CLICK и посылает новое событие PlayerScoreEvent.PLAYER_CLICK с полем player_score.
В примере некий player1 передается, а не player1_score.
Возможно удобнее будет получить ссылку на объект, непосредственно через объект player1_score, ссылка на который передается в e.currentTarget.

Добавлено через 1 минуту
Я совсем недавно начал программировать, буквально несколько дней назад, поэтому не совсем понимаю, как создать собственное событие. Может помогите с данным конкретным примером или дайте ссылку на статью в мануале. Большое спасибо!
http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e53.html