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

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

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

Регистрация: Aug 2014
Сообщений: 45
По умолчанию Подключить класс к классу

Привет. расскажите как.... не могу разобраться..
Есть проект Buttons.fla и в нем кнопка с именем btn, к нему подключён класс Main.as c содержимым:
Код AS1/AS2:
package  {
 
	import flash.display.MovieClip;
		import flash.events.MouseEvent;
 
 
 
	public class Main extends MovieClip {
 
 
 
		public function Main() {
			var btn:Buttons = new Buttons();
			new btn;
		}
	}
 
}
этим классом вызываю класс Bottons.as c содержимым:
Код AS1/AS2:
package  {
	import flash.events.MouseEvent;
	import flash.display.SimpleButton;
 
	public class Buttons {
 
		public function Buttons() {
			btn.addEventListener(MouseEvent. MOUSE_DOWN, yes);
			function yes (Event:MouseEvent): void {
				trace("Работает!");
			}
 
		}
 
	}
 
}
и ничего не работает. выдает ошибку:
1120: Обращение несуществующего свойства btn.

помогите пожалуйста разобраться.
Спасибо

Старый 04.12.2014, 22:59
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Запутались вы конечно)
Если на сцене у вас уже есть кнопка btn (это прописано в поле свойств кнопки), то доступ к ней будет просто
Код AS3:
package  {
 
	import flash.display.MovieClip;
		import flash.events.MouseEvent;
 
 
 
	public class Main extends MovieClip {
 
 
 
		public function Main() {
			btn.x=450;{//например
		}
	}
 
}
Но если вы решили создать класс для этой кнопки, чтобы создавать её потом, то во-первых надо прописать имя класса для этой кнопки в библиотеке (ПКМ поле class). Так же этот класс должен быть расширен спрайтом, мувиклипом или симплБаттон-ом (смотря какой базовый класс у вашей кнопки)

Добавлено через 2 минуты
Класс кнопки примерно такой тогда
Код AS3:
package
{
	import flash.events.MouseEvent;
	import flash.display.SimpleButton;
	import flash.events.MouseEvent;
 
	public class Buttons extends SimpleButton
	{
 
		public function Buttons()
		{
			addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
		}
 
 
		private function mouseDown(e:MouseEvent):void
		{
			trace("Работает!");
		}
	}
 
}

Старый 04.12.2014, 23:09
60reg вне форума Посмотреть профиль Отправить личное сообщение для 60reg Найти все сообщения от 60reg
  № 3  
Ответить с цитированием
60reg
 
Аватар для 60reg

Регистрация: Aug 2014
Сообщений: 45
Вызываю так:
Код AS1/AS2:
package  {
 
	import flash.display.MovieClip;
		import flash.events.MouseEvent;
 
 
 
	public class Main extends MovieClip {
 
 
 
		public function Main() {
			var btn:Buttons = new Buttons();
			new btn();
		}
	}
 
}
Ошибку пишет в классе Main:
1180: Вызов предположительно неопределенного метода btn.

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Код AS3:
new btn();
Это строка означает: создать новый экземпляр класса btn, и всё. У вас нет класса с таким именем.
Имя класса не путать с именем переменной.
Если у вас flash проект не выше cs6, то скиньте исходник, я исправлю, и вы посмотрите что там да как.
Кстати, почему бы не почитать какую нибудь книжку, чтобы понять основы?

Старый 04.12.2014, 23:16
60reg вне форума Посмотреть профиль Отправить личное сообщение для 60reg Найти все сообщения от 60reg
  № 5  
Ответить с цитированием
60reg
 
Аватар для 60reg

Регистрация: Aug 2014
Сообщений: 45
Вот исходникbtn.rar

Старый 04.12.2014, 23:19
60reg вне форума Посмотреть профиль Отправить личное сообщение для 60reg Найти все сообщения от 60reg
  № 6  
Ответить с цитированием
60reg
 
Аватар для 60reg

Регистрация: Aug 2014
Сообщений: 45
Цитата:
Сообщение от samana Посмотреть сообщение
Кстати, почему бы не почитать какую нибудь книжку, чтобы понять основы?
Читал Мука, но видимо что-то недопонял....

Старый 04.12.2014, 23:22
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 7  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Вот. Обратите внимание, что в классе Main ничего нет, так как вы вручную во Flash уже поместили кнопку на сцену. И у кнопки не был прописан класс Buttons (вы никак не связали вашу кнопку с этим классом)
Вложения
Тип файла: rar fix.rar (5.6 Кб, 10 просмотров)

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от 60reg Посмотреть сообщение
Читал Мука, но видимо что-то недопонял....
Видимо надо почитать не торопясь ещё раз

Старый 04.12.2014, 23:25
60reg вне форума Посмотреть профиль Отправить личное сообщение для 60reg Найти все сообщения от 60reg
  № 9  
Ответить с цитированием
60reg
 
Аватар для 60reg

Регистрация: Aug 2014
Сообщений: 45
Спасибо ограмное

Старый 04.12.2014, 23:31
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 10  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
На здоровье! Читайте уроки)

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

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

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


 


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


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