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

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

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
По умолчанию Несколько вопросов связанные с некоторыми моментами AS

Здрава всем.
Народ я новичок а AS 3 и у меня возникли несколько вопросов которые мешают идти дальше , просто появились некоторые недопонимания в ходе обучения , и если Вы не против то разрешите изложиться.
1.
This, да банальное this, его я вижу часто но сам не использую.
Как я понимаю this – это ссылка на объект и смотря где он пишется .
Наверное я сам отвечу на вопрос ну или Вы меня поправите на примере:
То есть:
Код AS3:
package 
{
	public class MyClass
	{
		private var Name:String = "hi";
		public function MyClass()
		{
			this.x +=  100;
			this.Name;
			addChild(this);
		}
	}
}
и
Код AS3:
package 
{
	public class MyClass
	{
		private var Name:String = "hi";
		public function MyClass()
		{
			MyClass.x +=  100;
			MyClass.Name;
			addChild(MyClass);
		}
	}
}

это одно и тоже так ведь, если нет то поправьте меня.
2.
Теперь о «super ()» . Как пишется в helpe инструкция super - вызывает суперклассовую или родительскую версию метода или конструктора, например:
Код AS3:
Super () // Вызывает родительскую версию конструктора;
Super.method(“HI”) // Вызывает родительскую версию метода;
Super.prop // Вызывает родительскую версию свойства или такого не бывает ?
Если все не так то поправьте меня.
3.
Оператор “as” – он меня больше всех пугает. Как я понимаю интерпретатор проверяет нет ли у первого операнда (тип: Sprite) таких же свойств и методов как у и второго операнда (тип: MovieClip) и если таковой есть то Sprite может быть как и MovieClip так и Sprite то есть я могу использовать некоторые методы и свойства MovieClip для объекта Sprite(который уже movieclip) и наоборот.
4.
Обращение к объектам и символам. Здесь я затрудняюсь разобраться , сейчас поясню на примере:
Допустим имеется класс “B” в конструкторе которой будет для примера Кнопка и Мувик.
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.display.SimpleButton;
	public class B extends Sprite
	{
		public var _btn:SimpleButton = Btn; // Кнопка и мувик уже перенесенные из библиотеки на сцену 
		public var _star:MovieClip = Star; // в ручную , имена написал в свойствах не в свойтвах символа
		public function B()
		{
			_btn.x +=  100;
			_btn.addEventListener(MouseEvent.CLICK,onBtn);
		}
		public function onBtn(e:MouseEvent)
		{
			trace("HI");
		}
	}
}
и класс “A” где и создается объект “B”
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Stage;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	public class A extends Sprite
	{
		private var _A:B;
		public function A();
		{
			_A = new B();
			addChild(_A);
		}
	}
}
Цитата:
Выходит ошибка:
Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at B
А так робит корректно:
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.display.SimpleButton;
	public class A extends Sprite
	{
		public var _btn:SimpleButton = Btn;
		public var _star:MovieClip = Star;
		public function A()
		{
			_btn.x +=  100;
			_btn.addEventListener(MouseEvent.CLICK,onBtn);
		}
		public function onBtn(e:MouseEvent)
		{
			trace("HI");
		}
	}
}
не пойму почему.


Последний раз редактировалось zackscript; 18.01.2016 в 12:10.
Создать новую тему   Часовой пояс GMT +4, время: 17:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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