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

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

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

Регистрация: Dec 2013
Сообщений: 34
По умолчанию Как создать глобальную функцию в ActionScript3.0?

У меня есть пакет с классом
Код AS3:
package zoo{	
	public class VirtualZoo{
		public function IsWin(){
			// Глобальная функция 
		}
	}
}
Теперь, что нужно сделать, что бы создать глобальную функцию, которая будет доступна из любой части программы? Расскажите поэтапно, а то никак не пойму!

Старый 21.12.2013, 18:49
Digital вне форума Посмотреть профиль Отправить личное сообщение для Digital Найти все сообщения от Digital
  № 2  
Ответить с цитированием
Digital

Регистрация: Apr 2012
Сообщений: 213
public function - это и есть глобальная функция

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Вы можете сделать такую функцию статичной, тогда доступ к ней будет отовсюду, через имя класса.

Старый 21.12.2013, 20:18
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
"Поэтапно":
Код AS3:
package zoo{	
	public function isWin():Boolean {
		// Глобальная функция 
	}
}
__________________
Reality.getBounds(this);

Старый 22.12.2013, 09:34
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 5  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Код AS3:
package zoo{	
	public class VirtualZoo{
		public static function IsWin(){
			// Глобальная функция 
		}
	}
}
из другого класса обращаться так
Код AS3:
  VirtualZoo.IsWin();
но функция будет привязана не к экземпляру класса, а к самому классу, и соответственно может работать только со статичными переменными класса. Но из экземпляров можно менять значение этих статичных переменных.

Старый 22.12.2013, 11:02
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Wolsh правильно сказал, только не уточнил как все надо делать.
Если хотим глобальную функцию, без всяких импортов, то делаем так:
создаем в корневом каталоге файл .as с названием, соответствующим названию функции, например someFunc.as
а в нем пишем
Код AS3:
package {
   public function someFunc(a:Number, b:Number):Number {
           return a * b;
   }
}
Это будет глобальная функция, возвращающая произведение двух параметров

Старый 22.12.2013, 15:02
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 7  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Это справедливо не только для функций

Старый 23.12.2013, 22:56
fd96 вне форума Посмотреть профиль Отправить личное сообщение для fd96 Найти все сообщения от fd96
  № 8  
Ответить с цитированием
fd96
 
Аватар для fd96

Регистрация: Jan 2013
Адрес: If(Sprite.x >0){Sprite.x=(Sprite.x-Sprite.x)}
Сообщений: 51
Отправить сообщение для fd96 с помощью ICQ Отправить сообщение для fd96 с помощью Skype™
Мне говорили, что глобальные функции не есть ООП и по - хорошему их пользуют только быдлокодеры, расскажите почему? Очень таки полезно ведь, чтоб простыни не писать...
__________________
...Nothing can't be coded...

Старый 23.12.2013, 23:02
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 9  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Я например, считаю JavaScript больше ООП чем AS3. Это моя т.з.

Старый 23.12.2013, 23:04
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 10  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
я не знаю, что такое "глобальная", но если речь о "публичном методе", то Вы возможно что то перепутали.
Без публичных методов жить невозможно, но такое высказывание я слышал о публичных свойствах.
Хотя я наверное ошибся и без них можно, тогда надо будет посылать данные вместе с событиями, но мне кажется,
что лучше сделать публичный метод с возвращением значения.

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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