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

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

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

Регистрация: Apr 2012
Сообщений: 88
По умолчанию Ругается на создание массива

Код AS3:
package{
	import flash.display.*;
	import flash.events.*;
	public class Hostile extends MovieClip
	{
		public var Light:int=2;
		public var id:String="t";
		public var speed:int=1;
		public var Checkpoint:Array;
		Checkpoint=new Array();
,
Ругается на два последних куска кода("1120: Access of undefined property Checkpoint."). В чем могут быть проблемы?


Последний раз редактировалось Mkey; 29.11.2012 в 17:15. Причина: Добавил ошибку.
Старый 29.11.2012, 17:12
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Как ругается?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Apr 2012
Сообщений: 88
1120: Access of undefined property Checkpoint.

Добавлено через 4 минуты
Блин, а почему в конструкторе не ругается?=\

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

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Правильно писать так:
Код AS3:
public var Checkpoint:Array = [];

Старый 29.11.2012, 17:26
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 5  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от TWETTI Посмотреть сообщение
Правильно писать так:
Код AS3:
public var Checkpoint:Array = [];
Ошибка будет той же. Можете объяснить почему так нужно писать?

Старый 29.11.2012, 17:37
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 6  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Ошибки быть не должно. Инициализировать переменные надо либо в контрукторе либо сразу после объявления. Массив создается быстрее если его инициализировать [], а не new Array().

Старый 29.11.2012, 17:39
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 7  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от TWETTI Посмотреть сообщение
Ошибки быть не должно. Инициализировать переменные надо либо в контрукторе либо сразу после объявления. Массив создается быстрее если его инициализировать [], а не new Array().
Код AS3:
//Определяю пакет:
package src {
	import flash.display.MovieClip;
	//Объявляю класс test:
	public class test extends MovieClip
	{
		//Определяю массив:
		public var array:Array = [];
		//Устанавливаю массив:
		array = new Array();
		//Объявляю конструктор:
		public function test()
		{
 
		}
	}
 
}
Описание ошибки: Обращение несуществующего свойства array.

Старый 29.11.2012, 17:44
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 8  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Все правильно. Объект еще не создан, а вы уже обращаетесь к его свойствам. Объект будет создан когда вызовится конструктор.
Зачем писать
Код AS3:
array = new Array();
?
Вы уже инициализировали пустой написав [];

Старый 29.11.2012, 17:46
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 9  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Либо
Код AS3:
package{
	import flash.display.*;
	import flash.events.*;
	public class Hostile extends MovieClip
	{
		public var Light:int=2;
		public var id:String="t";
		public var speed:int=1;
		public var Checkpoint:Array = new Array();
либо инициализируйте переменную в теле какой-нибудь функции (в том же конуструкторе).
Потому что ООП?

Старый 29.11.2012, 17:50
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 10  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от TWETTI Посмотреть сообщение
Все правильно. Объект еще не создан, а вы уже обращаетесь к его свойствам. Объект будет создан когда вызовится конструктор.
Зачем писать
Код AS3:
array = new Array();
?
Вы уже инициализировали пустой написав [];
Значит:
var array:Array = []
и
array = new Array();
Одинаковые. Спасибо.
Можете подсказать, если знаете, как можно использовать эти различия?

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

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

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


 


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


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