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

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

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

Регистрация: Sep 2011
Сообщений: 16
По умолчанию Работа с несколькими классами

Добрый вечер. Я умею работать с 1 классом as 3.0.
Сейчас мне стало не удобно работать с 1 классом т.к. получился большой объём кода.
Дак вот собственно вопрос:

Допустим я создал 2 класса. 1 основной - Main и дополнительный - Data.
Как добавить класс Data в приложение?
Как передать в этот класс переменную variable в класс Data из Main?
Как вызвать функцию Data класса Data из класса Main?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
в Main

Код AS3:
/* Как добавить класс Data в приложение? */
var data:Data = new Data();
 
/* Как передать в этот класс переменную variable в класс Data из Main? */
var variable:String = "Значение переменной"; 
data.variable = variable;
 
trace(data.variable);// output "Значение переменной"
 
/* Как вызвать функцию Data класса Data из класса Main? */
data.doSomething();
Код AS3:
class Data {
 
    public var variable:    String;
 
    public function doSomething():void {
        trace("Вызван метод doSomething");
    }
 
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 08.09.2011, 21:54
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 3  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Два файла.

Первый: Main.as

Код AS3:
package
{
    public class Main extends Sprite
    {
 
        private var dataObject:Data;
 
        public function Main()
        {
            var anyVar:* = "Any value";
            this.dataObject = new Data(anyVar);
            this.dataObject.data();
        }
    }
}
Второй: Data.as

Код AS3:
package
{
    public class Data
    {
 
        private var incomingVar:*;
 
        public function Data(arg:*)
        {
            this.incomingVar = arg;
        }
 
        public function data():void
        {
            // do something
        }
    }
}
Добавлено через 1 минуту
То никого, то все сразу
__________________
Поймай яблоко 2!

Старый 08.09.2011, 22:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
this! [x]
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Oct 2010
Сообщений: 57
Код AS3:
package
{
public class Data extends Main
{
}
}
работаем с дата как с мейн

Старый 08.09.2011, 23:03
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
wolhw, ну вот не боишься, что сейчас достанем линейки надаём по рукам а?
__________________
Поймай яблоко 2!

Старый 08.09.2011, 23:05
cervikx вне форума Посмотреть профиль Отправить личное сообщение для cervikx Найти все сообщения от cervikx
  № 7  
Ответить с цитированием
cervikx

Регистрация: Sep 2011
Сообщений: 16
А ты можешь пожалуйста расписать подробнее про передачу переменных в другой класс.
Допустим в классе Main создаётся кнопка при нажатии на которую переменной variable добавляется 1.
Класс data получает эту переменную и увеличивает значение ещё на 1 и выводит её в textField.
Притом значение переменной variable нужно чтобы изменилось и в классе Main.
Как в таком случае осуществлять передачу этой переменной?
Хотелось чтобы можно было использовать эту переменную без передачи туда - сюда...

Старый 08.09.2011, 23:11
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Запятые очень обижаются, когда их игнорируют. Вот вам немного запятых:,,,,,,. Расставьте в своем посте.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 08.09.2011, 23:14
wolhw вне форума Посмотреть профиль Отправить личное сообщение для wolhw Найти все сообщения от wolhw
  № 9  
Ответить с цитированием
wolhw

Регистрация: Oct 2010
Сообщений: 57
Zebestov
Цитата:
Сообщение от cervikx Посмотреть сообщение
Сейчас мне стало не удобно работать с 1 классом т.к. получился большой объём кода.
ну если всего 1 класс в приложении можно и разбить на 2а сделать все методы и вары протектед и ничего никуда передавать ненужно)

Добавлено через 10 минут
cervikx
Код AS3:
package
{
 
public class Main
 
protected var r1:String="allo"; //переменная в класе Мейн
 
public function Main()
{
}
protected function traser():void
{ trace(r1); }
{
}
}
Код AS3:
package
{
 
public class data extends Main //тут важно!
{
public function data()
{
trace(r1);//получим -- allo
r1="privet";
tracer();// --- privet
}
}
}


Последний раз редактировалось wolhw; 08.09.2011 в 23:41.
Старый 09.09.2011, 00:16
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 10  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Просит таки линейки, да. Еще раз такой совет и начнем скидываться.

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

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

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

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


 


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


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