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

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

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
По умолчанию Мой первый класс, помогите разобраться!

Привет!Решил наконец начать писать код во внешних классах и сразу столкнулся с некоторыми вопросами.
Есть файл, в котором находится мувиклип. В мувиклипе есть 3 состояния, 3 лейбла: over, out, disable.
В папке рядом с фла, есть папка по имени Practice, в ней лежит as файл DisablingButton.as
К кнопке через Linkage прописываю путь к as файлу как Practice.DisablingButton(в поле Base Class).
Вот содержимое самого ас файла:
Код AS3:
package Practice
{
	import flash.display.*;
	import flash.events.*;
	import fl.transitions.*;
	import fl.transitions.easing.*;
 
	public class DisablingButton extends MovieClip
	{
 
 
		public function DisablingButton()
		{
			var labels:Array;
			var thisParent:*;
			labels = this.currentLabels;
			this.addEventListener(MouseEvent.CLICK, disableButton);
			this.addEventListener(MouseEvent.ROLL_OVER, over);
			this.addEventListener(MouseEvent.ROLL_OUT, out);
		}
 
		public function disableButton(e:MouseEvent):void
		{
			for(var i:uint = 0; i<labels.length; i++)
			{
				if(labels[i].name == "disable")
				{
					this.gotoAndPlay("disable");
				}
			}
		this.removeEventListener(MouseEvent.CLICK, disableButton);
		this.removeEventListener(MouseEvent.ROLL_OVER, over);
		this.removeEventListener(MouseEvent.ROLL_OUT, out);
		}
	}
 
	public function enableButton():void
	{
		this.addEventListener(MouseEvent.CLICK, disableButton);
		this.addEventListener(MouseEvent.ROLL_OVER, over);
		this.addEventListener(MouseEvent.ROLL_OUT, out);
		gotoAndStop(1);
	}
 
	public function over(e:MouseEvent):void
	{
		for(var j:uint = 0; j<labels.length; j++)
		{
			if(labels.name == "over")
			{
				gotoAndPlay("over");
			}
		}
	}
 
	public function out(e:MouseEvent):void
	{
		for(var k:uint = 0; k<labels.length; k++)
		{
			if(labels.name == "out")
			{
				gotoAndPlay("out");
			}
		}
	}
}
После тестинга выдаёт кучу ошибок № 1120 и 1180, что типо у меня переменные и функции undefined.
Пожалуйста, помогите разобраться где я допустил ошибку?

Старый 24.03.2010, 15:54
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 2  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
вынесите переменную "labels" из конструктора в тело класса. Почитайте к.Мука по as3 для начала, прежде чем начинать писать классы, либо хотя бы туторы.

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Вынес. Без изминений

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
а this.currentLabels где и что это?
В ошибках ведь пишут в какой строке косяк. Наверно там пишут что не найдены методы enableButton, over, out.
Если disableButton сделали методом класса, то почему enableButton, over, out не сделали?

Старый 24.03.2010, 16:22
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 5  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Ошибки в студию.

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

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
нашел ошибку...не там закрыл фигурную скобку, получилось что функции оказались за пределами класса

Добавлено через 5 минут
всем спасибо!

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

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

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


 


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


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