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

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

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

Регистрация: Mar 2008
Сообщений: 5
По умолчанию Не понимаю, как создать класс в AS 3.0

Помогите пожалустя!!
Раньше, чтобы создать класс двухмерного массива, можно было использовать следующий код:
Код:
var ArrTemp = function ()
{
this.ggg = new Array();
this.fieldsize_w = 10;
this.fieldsize_h = 10;
this.i=0;
this.j=0;
for(this.i=0;this.i<=this.fieldsize_w;this.i++)
     {
	this["ggg"+this.i] = new Array();
	for(this.j=0;this.j<=this.fieldsize_h;this.j++)
     {
	this["ggg"+this.i][this.j]=0;
     }
	this.ggg[this.i]=this["ggg"+this.i];
	//trace("ggg2="+ggg2);
     }
}
var MyMassive = new ArrTemp();
MyMassive.ggg[1][1]=734.6;
....
но на AS 3.0 сделать таким образом мой массив не получается...
подскажите как перевести на 3 action script конструкцию типа
Код:
A = function ()
{
myVar=10
} 
B = new A;
trace(B.myVar);
?????
А если можно, то подскажите еще и на счет примера с массивом, как он будет выглядеть на новой версии языка?

Старый 13.03.2008, 03:15
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
отдельный файл YourClass.as
Код:
package{

    public class YourClass{

        //тут свойства

        public function YourClass{
              //вся та фигня которая происходит при создании экземпляра
        }//end of constructor

         //тут методы

    }//YourClass

}//package
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от CatWoman
Раньше, чтобы создать класс двухмерного массива
Это не класс, а функция-объект с заданными свойствами. Классы же, как и в AS2, так и AS3, пишутся во внешних *.as файлах.
В хелпе, в разделе Programming ActionScript 3.0 > Getting Started with ActionScript все подробно описано.

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

Регистрация: Mar 2008
Сообщений: 5
Цитата:
Сообщение от __etc
Это не класс, а функция-объект с заданными свойствами.
Извиняюсь, видно названием я ошиблась)
Но суть от этого не меняется, мне нужно создать функцию-объект, которая обладает такими же свойствами, про которые я писала выше, но только на AS 3.0. Подскажите как мне это сделать плизь..

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
var arrTemp:Function = function() {
	this.ggg = [];
	this.fieldsize_w = 10;
	this.fieldsize_h = 10;
	this.i = 0;
	this.j = 0;
	for (this.i = 0; this.i <= this.fieldsize_w; this.i++) {
		this["ggg" + this.i] = [];
		for (this.j = 0; this.j <= this.fieldsize_h; this.j++) {
			this["ggg" + this.i].push(0);
		}
		this.ggg[this.i] = this["ggg" + this.i];
		//trace("ggg2="+ggg2);
	}
}
var myMassive = new arrTemp();
myMassive.ggg[1][1] = 734.6;
trace(myMassive.ggg[1][1]);
trace(myMassive.ggg[0][0]);
Все работает... а что у вас не получалось?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 13.03.2008 в 15:50.
Старый 13.03.2008, 15:55
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от CatWoman
Извиняюсь, видно названием я ошиблась)
Но суть от этого не меняется, мне нужно создать функцию-объект, которая обладает такими же свойствами, про которые я писала выше, но только на AS 3.0. Подскажите как мне это сделать плизь..
Собственно, ваш код без изменений и в AS3 будет работать, правда, медленно.
Лучше, конечно же, вынести в отдельный класс такую штуку.

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

Регистрация: Mar 2008
Сообщений: 5
Спасибо, все заработало!)

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

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

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


 


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


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