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

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

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

Регистрация: Apr 2011
Сообщений: 64
Question работа с классами

помогите разобраться
создал класс наследуемый от array
Код AS3:
package  SVoyGame 
{
	import flash.utils.ByteArray;
 
	public class ArrayPole extends Array
	{
		public function ArrayPole(sizey:int, sizex:int):void
		{ 
			for (var yy:int = 0; yy < sizey ; yy++) { 
				ArrayPole[yy] = new ByteArray;
				for (var xx:int = 0; xx < sizex ; xx++) {
					ArrayPole[yy][xx] = 0;
				}
 
			}
в основном тексте использую
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import SVoyGame.ArrayPole;
 
	public class Main extends Sprite 
	{
		public function Main():void 
		{
			var pole:ArrayPole;
                         trace(pole[5][5]);
вот в этом месте и возникает ошибок
[Fault] exception, information=ReferenceError: Error #1069: Не удалось найти свойство 0 в SVoyGame.ArrayPole; отсутствует значение по умолчанию.
подскажите пожалуйста
как к этому массиву теперь обращаться

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

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
ByteArray не равен Array (ошибка типов переменных)

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
var pole:ArrayPole = new ArrayPole(0,0);

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

Регистрация: Apr 2011
Сообщений: 64
Цитата:
Сообщение от Партизан Посмотреть сообщение
Код AS3:
var pole:ArrayPole = new ArrayPole(0,0);
да да пропустил строчку в вопросе она там есть перед выводом

Добавлено через 1 минуту
Цитата:
Сообщение от t4arty Посмотреть сообщение
ByteArray не равен Array (ошибка типов переменных)
ByteArray как вложенность самого Array

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
for (var yy:int = 0; yy < sizey ; yy++) { 
				this[yy] = new ByteArray;
				for (var xx:int = 0; xx < sizex ; xx++) {
					this[yy][xx] = 0;
				}
 
			}

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

Регистрация: Apr 2011
Сообщений: 64
т.е. массив содержит массивы ByteArrey

Добавлено через 38 секунд
Цитата:
Сообщение от Партизан Посмотреть сообщение
Код AS3:
for (var yy:int = 0; yy < sizey ; yy++) { 
				this[yy] = new ByteArray;
				for (var xx:int = 0; xx < sizex ; xx++) {
					this[yy][xx] = 0;
				}
 
			}
хм попробую

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS3:
dynamic public class ArrayPole extends Array

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

Регистрация: Apr 2011
Сообщений: 64
this не прошел
[Fault] exception, information=ReferenceError: Error #1056: Не удается создать свойство 0 в SVoyGame.ArrayPole.
на строке this[yy]=new bytearray;

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Цитата:
Сообщение от Svoy4 Посмотреть сообщение
this не прошел
Udaaff написал выше почему

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

Регистрация: Apr 2011
Сообщений: 64
Цитата:
Сообщение от udaaff Посмотреть сообщение
Код AS3:
dynamic public class ArrayPole extends Array
не помогло
да и вообще это относиться только к классу (кажись)
а не к его экземпляру

Добавлено через 1 минуту
trace(ArrayPole[5][5]); в классе
выдает инфу
а в основном тексте уже нет

Добавлено через 6 минут
т.е. приложение запускается
объявляется pole:arraypole
конструктор срабатывает внутри класса выводит инфу
но не передает ее экземпляру
как то так получается

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

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

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


 


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


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