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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

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

Регистрация: Mar 2004
Адрес: Moscow
Сообщений: 115
По умолчанию Можно ли сделать массив из элементов класса?

Можно ли сделать массив из элементов класса?

Старый 26.03.2004, 20:33
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 2  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
1) В смысле из экземпляров?
2) Конечно можно, почему нет.
3) Ты не пробовал попробовать?

Старый 26.03.2004, 21:46
Squirrel вне форума Посмотреть профиль Отправить личное сообщение для Squirrel Найти все сообщения от Squirrel
  № 3  
Squirrel

Регистрация: Mar 2004
Адрес: Moscow
Сообщений: 115
я создала класс line, в него заносятся координаты начальной и конечной точки, и в нем есть разные методы, например посчитать расстояние от некой точки до этой прямой.

потом я создаю элемент этого класса, например
new_line: line = new line(x,y); - что-то в этом духе.

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

lines = new Array();
lines[1] = new_line;

или

lines[1] = new line(x,y); //естественно вместо х и у какие-то числа

Что я делаю неправильно?

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

Регистрация: Mar 2003
Адрес: Moscow
Сообщений: 669
Отправить сообщение для mishinaelle с помощью ICQ
давай исходник

Старый 27.03.2004, 01:42
Squirrel вне форума Посмотреть профиль Отправить личное сообщение для Squirrel Найти все сообщения от Squirrel
  № 5  
Squirrel

Регистрация: Mar 2004
Адрес: Moscow
Сообщений: 115
это трудно... исходник на работе, к тому же там довольно много функций, так что так просто не разберешься.

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

Но мне хотелось бы реализовать это с помощью класса. Я создала новый класс line, которому эти координаты передаются как переметры, и в котором есть различные функции - типа нахождения угла, нахождения расстояния до точки и так далее.

И мне хотелось бы сделать, чтобы каждая линия представлялась, как некий экземпляр класса со своими параметрами, а все эти экземпляры засунуть в массив. Класс я сделала, все работает, но когда я пытаюсь создать массив из экземпляров, мне выдает постоянно ошибку. Вот и хотелось бы понять - это я делаю что-то неправильно или это принципиально невозможно?

ЗЫ. с классами работаю в первый раз...

Старый 27.03.2004, 02:31
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
lines[1] = new line(x,y);

эта запись ошибки не вызывает :)
зуб даю :)

только это называется не элемент класса а экземпляр класса

Старый 27.03.2004, 21:24
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
lines.push(new line(x,y));

Старый 29.03.2004, 13:00
Squirrel вне форума Посмотреть профиль Отправить личное сообщение для Squirrel Найти все сообщения от Squirrel
  № 8  
Squirrel

Регистрация: Mar 2004
Адрес: Moscow
Сообщений: 115
to Nox Noctis
Давай зуб, эта запись не работает

Если написать так:

lines[i] = new line(x, y);
trace(lines[i].angle());
var line_1:line = new line(x, y);
trace(line_1.angle());

То в первом случае все время выдает undefined, а для line_1 все считает нормально. То же самое для записи:

lines.push(new line(x, y));
trace(lines[i].angle());

Естественно, x, y и i определены до этого.

Старый 29.03.2004, 19:28
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
function line(x,y){ this.angle=Math.atan(x/y);}
lines=new Array();
lines.push(new line(1, 2));
trace(lines[0].angle);//0.463647609000806
lines[1] = new line(2, 1);
trace(lines[1].angle);//1.10714871779409

Старый 29.03.2004, 20:15
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 10  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) Squirrel
to Nox Noctis
Давай зуб, эта запись не работает :)
минутку, не эта запись не работает, а твой код не работает - почувствуйте разницу :))

silin, речь о АС2 и импортированном классе, я так понял

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

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

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


 


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


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