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

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

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

Регистрация: Oct 2009
Сообщений: 11
По умолчанию не могу запустить скрипт кнопки!

Здравствуйте. Я начал изучать flash и вот пробую испытать кнопку SimpleButton. Я ее нарисовал в свойствах ее указал как "кнопка",назвал ее knop и поставил галочку на "экспорт в Action Script" . Написал код

Код AS3:
package {
    import flash.events.MouseEvent;
	import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.SimpleButton;
 
	public class proba extends MovieClip {
        public function proba() {
			 var knop:SimpleButton = new SimpleButton(); 
			addEventListener(MouseEvent.MOUSE_DOWN, dis);         
				}
	}
     public function dis(e:MouseEvent):void {
		trace("Привет!");
	}
}
но почему то на первой строчке кода( " package { ") все время выскакивает ошибка
1046: Type was not found or was not a compile-time constant: knop.

подскажите пожалуйста, что я делаю неправильно ,как избавиться от ошибки.


Последний раз редактировалось iNils; 23.10.2009 в 19:06.
Старый 23.10.2009, 11:58
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 2  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Код AS3:
package 
{
	import flash.events.MouseEvent;
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
 
	public class Proba extends MovieClip 
	{
		public var knop:SimpleButton;
		public function Proba() 
		{
			knop.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler); 
		}
		public function clickHandler(e:MouseEvent):void 
		{
			trace("Привет!");
		}
	}
}
обратите внимание на все отличия моего кода от вашего и примите к сведению (и не забудьте переименовать название файла с большой буквы (Proba))
__________________
я могу стать всем, если только захочу

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

Регистрация: Oct 2009
Сообщений: 11
Большое спасибо за подсказку. Учту ваши рекомендации. Вставил,ваш, исправленный код и теперь выскакивает ошибка
1151: A conflict exists with definition knop in namespace internal.
(10 строчка где обьявляеться кнопка "public var knop:SimpleButton;" )

Старый 23.10.2009, 20:41
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Цитата:
Сообщение от amigomos Посмотреть сообщение
Большое спасибо за подсказку. Учту ваши рекомендации. Вставил,ваш, исправленный код и теперь выскакивает ошибка
1151: A conflict exists with definition knop in namespace internal.
(10 строчка где обьявляеться кнопка "public var knop:SimpleButton;" )
Вы указали нарисованной кнопке инстанс имя knop и вы же ее создаете public var knop, естественно будет конфликт, ее создавать не надо, ее надо уже использовать.
Код AS3:
package 
{
	import flash.events.MouseEvent;
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
 
	public class Proba extends MovieClip 
	{
		//public var knop:SimpleButton;//не надо
		public function Proba() 
		{
			knop.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler); 
		}
		public function clickHandler(e:MouseEvent):void 
		{
			trace("Привет!");
		}
	}
}
по поводу отключения автоматического декларирования, я так не делаю, ибо считаю, что в этом нет никакого смысла.
Есть примеры с кнопками
http://www.murmadillo.tut.su/html/XML_MENU.rar
http://www.murmadillo.tut.su/m/rev.rar
http://www.murmadillo.tut.su/html/me...tton-href.html
__________________
Гоночка

Старый 23.10.2009, 15:32
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 5  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Код AS3:
public var knop:SimpleButton;
надо заменить на
Код AS3:
public var knop:SimpleButton = new SimpleButton();

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Надо убрать в настройках AS3 галку "Automatically declare stage instances"
__________________
тонкий тролль, осеянный благодатью

Старый 25.10.2009, 10:40
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 7  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Цитата:
Сообщение от GAIKER Посмотреть сообщение
Надо убрать в настройках AS3 галку "Automatically declare stage instances"
Я, понял, у вас у всех глючные Adobe Flash CS(низнаю), а у меня самая правильная (чет неправильных не встречал, они все у вас)


И вот такой код документ класса
Код AS3:
package {
	import flash.display.*;
	import flash.events.*;
 
	public class Doc extends MovieClip{;
 
		public function Doc(){
			rBtn.addEventListener(MouseEvent.CLICK, btnClickHandler);
			pBtn.addEventListener(MouseEvent.CLICK, btnClickHandler);
		}
 
		public function btnClickHandler(evt:MouseEvent) {
			if (evt.target.name=='rBtn') rmc.revPlay();
			if (evt.target.name=='pBtn') rmc.play();
		}
 
 
	}
}
Работает, две кнопки, и чего бы ему не работать.
http://www.murmadillo.tut.su/m/rev.rar
__________________
Гоночка

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
2СлаваRa - не правильно.
правильный путь подсказал GAIKER.
еще возможно просто удалить эту строчку. но лучше сделать как сказал GAIKER
__________________
я могу стать всем, если только захочу

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Alex Lexcuk, вы бы сначала мой коммент прочитали, обдумали, а затем бы отвечали.
конечно такой путь возможен, но все-таки правильнее будет
Цитата:
Надо убрать в настройках AS3 галку "Automatically declare stage instances"
__________________
я могу стать всем, если только захочу

Старый 24.10.2009, 00:37
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Alex Lexcuk, надо создавать и отключать автоматическое создание.

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

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

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


 


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


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