Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сделать функцию глобальной ? (http://www.flasher.ru/forum/showthread.php?t=140071)

deman455 19.05.2010 16:50

Как сделать функцию глобальной ?
 
Как сделать функцию глобальной ? То есть доступной с любого места (раздела кода) в флеше.

in4core 19.05.2010 17:07

Просто .
Код AS1/AS2:

_global.variable = new SuperClass();

И теперь в любом месте кода

Код AS1/AS2:

variable.superMethod();

Вариант без класса.

Код AS1/AS2:

_global.setProp = function() { trace("this"); }
setProp();
// не уверен здесь, проверь


deman455 20.05.2010 16:27

Неа не помогло, не получается.

in4core 20.05.2010 17:01

Что именно не получилось?

deman455 20.05.2010 17:09

Код AS1/AS2:

_global.setProp = function() { trace("this"); }
setProp();

Так нельяза.
Просто делаю игру, мне надо вызывать функцию из разных мест. То есть что бы не писать:

hero.items.money+=200; А вызвать функцию, к примеру:
getMoney(200) //добавить 200 едениц:
delMoney(50) //убарть 50 едениц
Вот мне и надо глобальная функция !

Котяра 20.05.2010 17:18

Код AS1/AS2:

_global.addMoney = function(money) {_global.money+=money; }
// в любом месте
_global.addMoney(200);

но это очень плохо.
придумайте архитектуру без глобальных функций.

in4core 20.05.2010 17:47

Котяра я точно так же написал))) кроме глобал не добавил ) че он врет тогда что не работает?

Котяра 20.05.2010 17:56

Цитата:

Сообщение от in4core (Сообщение 909638)
Котяра я точно так же написал))) кроме глобал не добавил ) че он врет тогда что не работает?

без глобала будет ошибка если вызвать
Цитата:

addMoney(200);
внутри пользовательского класса, если во фрэймах - тогда всё ок.

deman455 20.05.2010 17:57

Цитата:

Сообщение от in4core (Сообщение 909638)
Котяра я точно так же написал))) кроме глобал не добавил ) че он врет тогда что не работает?

Извени я просто не туда вписал эту функцию :DDDD
А так работает хорошо !

Цитата:

Сообщение от Котяра (Сообщение 909619)
но это очень плохо.
придумайте архитектуру без глобальных функций.

Чем это плохо :(
Тормозит флешку ??
Хотя это довольно удобно...

Котяра 20.05.2010 18:14

Просто запомните: Так делать нельзя! Глобальные функции - это зло.
Поищите по форуму, почитайте..
Лень в сотый раз писать одно и то же.


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

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