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

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

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

Регистрация: Jul 2007
Сообщений: 25
По умолчанию Вопрос про создание системы классов

Здравствуйте. Вопрос про создание своих классов. У меня флэш 8 профешинал. Как я понял, классы можно объявлять только в *.as файлах и только по одному классу в файле. Тогда как же осуществить такое вот дело:
Есть класс ТПлоскость (первый файл), внутри него есть массив из объектов класса ТТочка (его я объявлю уже в другом файле). Также, я хочу чтобы класс ТТочка содержал в себе ссылку на содержащюю её плоскость (на объект класса ТПлоскость). Как же всё это замутить? Может, нужно как-то файл с хэдерами сделать?

Старый 07.07.2007, 19:06
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не стоит использовать в именах классов Delphi-овские замашки.

Передать ссылку на плоскость можно через конструктор точки.

Старый 07.07.2007, 19:17
Pasha L вне форума Посмотреть профиль Отправить личное сообщение для Pasha L Найти все сообщения от Pasha L
  № 3  
Ответить с цитированием
Pasha L

Регистрация: Jul 2007
Сообщений: 25
Поподробнее можно? Напишите, пожалуйста, код небольшой, наглядный.

Это не "замашки", как вы выразились. Просто это удобно.

Старый 07.07.2007, 19:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это удобно в Delphi, но не в ActionScript.

Что именно непонятно в моих словах? Что такое конструктор и как передавать в него параметры, вы знаете?

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

Регистрация: Jul 2007
Сообщений: 25
значит так:
я должен просто создать необходимые файлы с необходимыми классами в них. Ничего, что, к примеру, класс А фигурирует в описании класса Б и наоборот. Я создаю эти файлы. Затем уже во фла-файле я просто пишу #include файлов А и Б ?

--

Почему неудобно такое оформление?

Старый 07.07.2007, 19:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не include, а import. Я не очень понял, где вы собираетесь создавать экземпляры класса Б и что конкретно хотите сделать. В А создаются экземпляры Б, в конструктор которых передается ссылка на А (this, проще говоря).

з.Ы. Неудобно тем, что никакой пользы буква «T» в себе не несет, совершенно. Только лишний раз её набрать. Стандарт именования во ActionScript не такой, как в Delphi, где что переменные, что методы, что классы — все под одну гребенку начинаются с прописной буквы и «T» в названии лишь говорит, что TWindow — это класс, а Window может быть методом, переменной и чем угодно. Во ActionScript названия переменных, методов, свойств начинаются со строчной буквы. С прописной только названия классов и константы (названия констант целиком в верхнем регистре).

Старый 07.07.2007, 19:55
Pasha L вне форума Посмотреть профиль Отправить личное сообщение для Pasha L Найти все сообщения от Pasha L
  № 7  
Ответить с цитированием
Pasha L

Регистрация: Jul 2007
Сообщений: 25
Так. Ещё раз просьба: напишите небольшой код из двух классов

А насчет стандартов - да черт с ними, кому как удобно

Старый 07.07.2007, 20:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
class MyPoint {
    private var _plane:Plane;
    public function MyPoint(plane:Plane) {
        this._plane = plane;
    }
}
Код:
class Plane {
    public function Plane() {
        for (var i:Number = 0;i < 10;i++) {
              var point:MyPoint = new MyPoint(this);
        }
    }
}

Старый 07.07.2007, 20:39
Pasha L вне форума Посмотреть профиль Отправить личное сообщение для Pasha L Найти все сообщения от Pasha L
  № 9  
Ответить с цитированием
Pasha L

Регистрация: Jul 2007
Сообщений: 25
Проверяю ошибки в этих скриптах:
Цитата:
**Error** D:\Новая папка\Plane.as: Line 1: The name of this class, 'Plane', conflicts with the name of another class that was loaded, 'Plane'.
class Plane {

Total ActionScript Errors: 1 Reported Errors: 1


и



Цитата:
**Error** D:\Новая папка\Plane.as: Line 1: The name of this class, 'Plane', conflicts with the name of another class that was loaded, 'Plane'.
class Plane {

Total ActionScript Errors: 1 Reported Errors: 1


Последний раз редактировалось etc; 07.07.2007 в 20:59.
Старый 07.07.2007, 21:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Проекты нельзя хранить в папках с русскими названиями.

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

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

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


 


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


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