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

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

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

Регистрация: May 2013
Сообщений: 18
По умолчанию Подскажите где ошибка, уже голову сломал

Проблема такая в коде есть строчка (trace(); // !* Ситуация), если ничего там не писать, ошибки нет, если всё же что угодно там написать, все переменные и методы описанные ниже этого метода становятся вне package.

Код:
Цитата:
Код AS3:
package src.wtmodel.Events
{
	import src.wtmodel.Events.Event;
 
	public class EventCollection
	{
		// Основные переменные
		private var eventList:Array; // Список объектов событий
		private var length:uint = 0;
 
		// Конструктор
		public function EventCollection()
		{
			eventList = new Array();
		}
 
		// Добавление нового экземпляра события
		public function addNewEvent(active:Boolean, global:Boolean, maxUse:uint, castTime:uint, cooldownTime:uint):uint
		{
			eventList[eventList.length] = new Event(active, global, maxUse, castTime, cooldownTime);
			return eventList.length - 1;
		}
 
		// Добавление местоположения к экземпляру события
		public function addEventPosition(id:uint, position:Array)
		{
			(eventList[id] as Event).position = position;
		}
 
		// Получить событие по идентификатору
		public function getEventById(id:uint):Event
		{
			if (id > eventList.length) 
			{
				return null;
			}
			else 
			{
				return (eventList[id] as Event);
			}
		}
 
		// Получить количество активных событий
		public function getActivePositionEventsLength(location:uint, room:uint):uint
		{
			var length:uint = 0;
			for each (var element:Event in eventList)
			{
				if (element.active == true)
				{
					for (var i:int; i < element.position.length / 2; i++)
					{
						if (element.position[i, 0] == location && element.position[i, 1] == room)
						{
							trace(); // !* Ситуация
						}
					}
				}
			}
			return length;
		}
 
 
 
		// Получить активное событие комнаты по индексу пересчёта
		public function getActivePositionEventByCount(location:uint, room:uint, countIndex:uint):Event
		{
			var count:uint = 0;
			for each (var element:Event in eventList)
			{
				if (element.active == true)
				{
					for (var i:int; i < element.position.length / 2; i++)
					{
						if (element.position[i, 0] == location && element.position[i, 1] == room)
						{
							if (count == countIndex)
							{
								return element;
							}
							else 
							{
								count++;
							}
						}
					}
				}
			}
			return null;
		}
	}
}
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 82
Размер:	44.5 Кб
ID:	30006   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 82
Размер:	47.2 Кб
ID:	30007  


Последний раз редактировалось svdsLis; 15.09.2013 в 00:32.
Старый 15.09.2013, 01:24
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 2  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Вот тут:
Код AS3:
if (element.position[i, 0] == location && element.position[i, 1] == room)
Двумерных массивов у нас нет.

Старый 15.09.2013, 01:30
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Двумерных массивов у нас нет.
Когда я посмотрел на этот код, то мне сразу же захотелось услышать на него ответ, так как мне не понятно не то, что массива нет ( двухмерного ), а то что его вообще вроде нет. И ещё ответ, что нет именно двухмерного массива вынудил меня спросить, а он есть там? В коде у element тип Event. Это ошибка или я чего то не понимаю?

Старый 15.09.2013, 01:36
svdsLis вне форума Посмотреть профиль Отправить личное сообщение для svdsLis Найти все сообщения от svdsLis
  № 4  
Ответить с цитированием
svdsLis

Регистрация: May 2013
Сообщений: 18
Ошибка именно в этом двухмерном массиве. Но сам массив там есть. Просто создал класс с именем Event.

Старый 15.09.2013, 08:27
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 5  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Код AS3:
if (element.position[i][0] == location && element.position[i][1] == room)
если position - двумерный массив, если нет скорее всего так
Код AS3:
if (element.position[i] == location && element.position[i] == room)

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

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

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


 


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


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