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

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

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

Регистрация: Apr 2010
Сообщений: 147
По умолчанию Как подгружать скрипты в основной код из *.as файлов ?

вот понадобилось мне рости в познаниях флеша, кода стало больше.. решил, лучше разделить его на части и каждую "основную" часть засунуть в отдельный файл..

в самом fly файле у меня нет ни строчки кода (analiz.fla)
рядом лежит файл analis.as, который подгружается "сам"
внутри analis.as

Код AS3:
package {
	import flash.display.*;
	import flash.events.*;
	import flash.text.*;
	import flash.filters.GlowFilter;
	import flash.utils.*;
	public class analiz extends MovieClip {
		public function analiz() {
		trace('превед');
		tratata();
	}
}
вот хочу выдернуть одну функцию из основного кода и засунуть в файл fun1.as

вопросы, что должно быть в файле fun1.as ? только та функция ? или что то ещё ?
как и где мне подгрузить файлик fun1.as ?
функцию из этого файлика я вызывать планирую в коде в основном файле analis.as

скажем содержимое fun1.as
Код AS3:
private function tratata() {
	trace('tratata');
}
верно ? или что то ещё должно быть в нём ?

Добавлено через 5 часов 44 минуты
что, все считают, что вопрос нубский ? или что ? ну я реально не знаю.. и где прочесть, так что бы понять не перечитав сотни разных страниц не знаю.. да и везде расплывчато написано, нужно понимать половину уже

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Я как всегда не уверен в правильности вопроса, но если хотите создать глобальную функцию, что-бы вызвать её где угодно, как например trace(), то создайте *as файл с таким же именем как и функция, такого вида:
Код AS3:
package {
	public function tratata() {
		trace("tra-ta-ta");
	}
}
tratata.as
И вызывайте её где хотите.

Старый 30.09.2010, 14:27
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 3  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
а как же этот файл сам прикрепится к нужному fly ?

у меня есть код чужой прокрутки, там в основном кадре fly файла указан код

Код AS3:
import gui.Scroller;
в папке gui лежит файл Scroller.as с содержимым

Код AS3:
package gui{
	import flash.display.MovieClip;
	import flash.events.Event;
	public class Scroller extends MovieClip{
		public function Scroller(_mc:MovieClip,_hght:Number):void{
вот если у меня в основном коде уже есть описание того, что я импортирую, потом видимо вызываю подгрузку .as, вот в каждом .as нужно указывать что импортировать ? или достаточно просто функцию сразу писать ?

Старый 30.09.2010, 14:45
AlesNormales вне форума Посмотреть профиль Отправить личное сообщение для AlesNormales Найти все сообщения от AlesNormales
  № 4  
Ответить с цитированием
AlesNormales

Регистрация: Aug 2010
Сообщений: 74
каждому *.as файлу нужно указыать что импортировать. Кроме того что объявлено в одном с ним пакете.
Как крепится к fla? Если имеется ввиду класс документа, то он указывается относительно самого fla. Если лежит в одной с ним папке-то просто имя класса. если в другой папке-то пакет.имя_класса, если вложенность то пакет.пакет...пакет.имя_класса.

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

Регистрация: Aug 2010
Сообщений: 74
я попытался это изобразить (кроме paint под рукой ничего не было). Черные "прямоугольники" это папки. В красной рамке-файлы.
Миниатюры
Нажмите на изображение для увеличения
Название: packstruct2.jpg
Просмотров: 113
Размер:	47.9 Кб
ID:	25241  

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
package dc
package dc.pak
package dc.pak.pak1
__________________
Reality.getBounds(this);

Старый 30.09.2010, 15:47
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 7  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
так а где его подгружать ?
есть у меня analiz.fla и analiz.as

тут нужно указывать в analiz.as подгрузку tratata.as ? (tratata.as я положу туда же где analiz.fla и analiz.as)

Код AS3:
package {
	import flash.display.*;
 
	import tratata;
 
	public class analiz extends MovieClip {
		public function analiz() {
		trace('превед');
		tratata();
	}
}
и я так понимаю, если нового ничего мне не нужно подгружать, то в tratata.as я ничего не импортирую..

Код AS3:
package {
	public function tratata() {
		trace("tra-ta-ta");
	}
}
всё верно ?

Добавлено через 9 минут
или надо:

Код AS3:
package {
	public class tratata extends MovieClip{
		public function tratata() {
			trace("tra-ta-ta");
		}
	}
}
или если там просто функция, то так ?
Код AS3:
package {
	public class tratata{
		public function tratata() {
			trace("tra-ta-ta");
		}
	}
}

Старый 30.09.2010, 15:58
AlesNormales вне форума Посмотреть профиль Отправить личное сообщение для AlesNormales Найти все сообщения от AlesNormales
  № 8  
Ответить с цитированием
AlesNormales

Регистрация: Aug 2010
Сообщений: 74
Wolsh спасибо что поправили.

Верно. у Вас же все в одном безымянном пакете. Импортировать (или как вы говорите подгружать) друг друга вашим файлам не надо. Они уже логически объединены. Можете просто пользоваться функцией тартата. А вот если функции из файлов анализ и тратата используют другие пакеты, то в каждом файле нужен будет импорт этих пакетов. например если анализ и тратата оба используют спрайт, то этот импорт должен быть и в одном и в другом файле. Все что вам надо сделать-это указать классом докумена - analiz.

Старый 30.09.2010, 16:13
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 9  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
1136: Неправильное количество аргументов. Ожидается 1.

жалуется на вызов функции tratata(); в основном коде файла tra.as

файл tra.as

Код AS3:
package {
	import flash.display.*;
	import flash.text.*;
	public class tra extends MovieClip {
		public function tra() {
			trace('превед');
			tratata();
 
		}
	}
}
файл tratata.as

Код AS3:
package {
	import flash.display.*;
	import flash.text.*;
	public class tratata extends MovieClip {
		public function tratata() {
			trace('тратата');
		}
	}
}

Старый 30.09.2010, 16:18
AlesNormales вне форума Посмотреть профиль Отправить личное сообщение для AlesNormales Найти все сообщения от AlesNormales
  № 10  
Ответить с цитированием
AlesNormales

Регистрация: Aug 2010
Сообщений: 74
ну так Вы тратата классом сделали и функцию не вызываете, пишите теперь new tratata(), вызовете конструктор, которые напишет таки тратата

Код AS3:
public class tra extends MovieClip {
private var tr:tratata = new tratata();

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

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

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


 


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


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