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

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

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

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

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

Регистрация: Apr 2011
Сообщений: 64
pole.length пишет ноль

Добавлено через 1 минуту
почти цикл в конструкторе
public function ArrayPole(sizey:int, sizex:int):void

Добавлено через 3 минуты
да с this захлебнулся на уровне создания-заполнения еще в классе

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Вот так должен выглядеть ваш класс
Код AS3:
package
{
	import flash.utils.ByteArray;
 
	public dynamic class ArrayPole extends Array
	{
 
		public function ArrayPole(sizex:int, sizey:int)
		{
			for (var yy:int = 0; yy < sizey; yy++)
			{
				this[yy] = new ByteArray;
				for (var xx:int = 0; xx < sizex; xx++)
				{
					this[yy][xx] = 0;
				}
			}
 
		}
 
	}
 
}
А вот так вы должны его создавать:
Код AS3:
var pole:ArrayPole = new ArrayPole(5, 5)
trace(pole.length) // 5

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

Регистрация: Apr 2011
Сообщений: 64
в SVoyGame/ArrayPole.as
Код 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;
				} 
			}
               trace(ArrayPole[2][2]);// выводит инфу
в основном тексте использую Main.as
Код 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[2][2]);// вот в этом месте и возникает ошибок
[Fault] exception, information=ReferenceError: Error #1069: Не удалось найти свойство 0 в SVoyGame.ArrayPole; отсутствует значение по умолчанию.

Добавлено через 2 минуты
UOTE=Партизан;1082854]Вот так должен выглядеть ваш класс
Код AS3:
package
{
	import flash.utils.ByteArray;
 
	public dynamic class ArrayPole extends Array
	{
 
		public function ArrayPole(sizex:int, sizey:int)
		{
			for (var yy:int = 0; yy < sizey; yy++)
			{
				this[yy] = new ByteArray;// вот здесь уже ошибка - пишет компилятор
[/quote]

Добавлено через 7 минут
соврал
не там ошибка

Добавлено через 9 минут
в функции конструктора есть еще функция
в ней к ArrayPole тоже обращать через this или ArrayPole

Добавлено через 22 минуты
Код AS3:
PlusOne(yy, xx );
function PlusOne(y:int, x:int):void { 
if (y<size) {
...
				if (this[y][x] < 255) { // [Fault] exception, information=TypeError: Error #1010: Термин не определен и не имеет свойств.
 
					this[y][x]++;
				}
			}
ArrayPole - тоже не работает

Добавлено через 28 минут
ага проблема в функциях внутри конструктора
// закоментировал одну в другой проблема
- они не видят массив


Последний раз редактировалось Svoy4; 04.06.2012 в 16:56.
Старый 04.06.2012, 17:11
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 15  
Ответить с цитированием
Партизан
 
Аватар для Партизан

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

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

Регистрация: Apr 2011
Сообщений: 64
выкинул их за пределы конструктора (модифицировал осуществлением передачи size)
все заработало как надо
объясните пожалуйста в чем проблема была

Старый 04.06.2012, 17:15
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 17  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
var pole:ArrayPole;
                         trace(pole[2][2])
Вот в этом. Вы не создавали экземпляр
__________________
Марк Tween

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

Регистрация: Apr 2011
Сообщений: 64
канчно new arraypole
надо читать меж строк

Старый 04.06.2012, 17:24
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 19  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
надо читать меж строк
А может еще и алхимимей заняться? Тут форум, а не шарады
__________________
Марк Tween

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

Регистрация: Apr 2011
Сообщений: 64
))
там не код был представлен
а рассуждения действий
а если рядом код взглянуть то всё на месте
так что придирки к словам

Добавлено через 1 минуту
конечно же я только учусь и мож не правильным словарем пользуюсь

Добавлено через 14 минут
вернемся к теме
выкинул их(функции которые были внутри конструктора) за пределы конструктора (модифицировал осуществлением передачи size)
все заработало как надо
объясните пожалуйста в чем проблема была
разве нельзя объявлять функцию внутри функции
и если можно то почему внутренняя функция не видит переменные главной


Последний раз редактировалось Svoy4; 04.06.2012 в 17:43.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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