Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.05.2008, 22:40
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 1  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
По умолчанию кто вызвал фунуцию?

1.Можно узнать кто вызвал функцию?
без диспатчера и передачи ссылки из вызывающего
for example пишем в какомто ксласе
Код:
var a:int = 12 
Master.Fun(a)// (или просто Fun если описать ее в as файле)
trace(a)////15
~~~~~~~~~~~ в мастере(as файле)
function Fun{
тот_кто_вызвал.а+=3
}
2. можно ли какимто образом применить ету функцию не к Master а к вызывающему


Последний раз редактировалось Tfp; 26.05.2008 в 22:45.
Старый 26.05.2008, 23:14
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
1. нет
2. apply

Старый 26.05.2008, 23:52
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 3  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
что я сделал не так)?
Код:
var a:int = 12 
Fun.apply(this)
trace(a)////должно быть 15
-------------------
package
{
public function Fun():void
{
a+=3
}
}
выдет ошыбку 1120: Access of undefined property a.

Старый 27.05.2008, 00:05
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Вы всё сделали не так.

Старый 27.05.2008, 00:24
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 5  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
окей) тогда можете привести код к работоспособному виду?

Старый 27.05.2008, 00:27
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
значения типа int передаются по значению, а не по ссылке
__________________
4am is time to rock

Старый 27.05.2008, 00:59
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 7  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
ну ето я знаю..так как применить фукцию Fun к вызывающему ее классу??

Старый 27.05.2008, 01:12
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
apply() - первый параметр - скоуп функции (на что будет указывать this), второй - массив аргументов, который нужно передать в функцию.

Не знаю, мож глупый вопрос... а откуда дебаггер знает, кто вызвал функцию?
__________________
Hell is the possibility of sanity

Старый 27.05.2008, 01:17
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 9  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
http://gotoandflash.ru/forum/index.php?showtopic=3099
Только что значит "кто вызвал?". Какой объект, или какая функция?
Если нужно ссылку на вызывающий объект, то для функций-не_методов это this.


Последний раз редактировалось badun; 27.05.2008 в 01:25.
Старый 27.05.2008, 01:37
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 10  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
ну вот что мне нада
Код:
//Class Main
var a:int = 12 
Fun.apply(this) нада что б функция fun изменила а, то есть применилась к тому кто ее вызвал(описана она в as файле код которого ниже)
сделать ето без передачи ссылки на обьект который вызвал.
trace(a)////должно стать 15
-------------------
package
{
public function Fun():void
{
trace(this)//.вот ето выдает global
a+=3//ошыбка
}
}
wvxvw не вот передая по апли this (то есть того от куда мы вызываем) в fun трейсинг должен показать не глобал а Class Main ?


Последний раз редактировалось Tfp; 27.05.2008 в 01:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.