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

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

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

Регистрация: Apr 2010
Сообщений: 24
По умолчанию проблема с кнопками

Приветствую всех.
Я новичок в as3, да и вообще в as, по сему прошу вашей помощи:

есть fla-файл, в котором есть кнопки со своими именами и динамическое текстовое поле "score".
также в этом файле записан код:
var IM:IM02 = new IM02();

Кроме этого есть файл IM02.as, в котором:
score.text = "12: 00";
и, например, слушатель событий для одной из кнопок:
btn1.addEventListener(MouseEvent.CLICK, leftUp);

Когда тестирую ролик, Флеш ругается и на текстовое поле score и на все кнопки.


Объясните, что не так?
Изображения
 

Старый 20.04.2010, 12:50
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Скорее всего имена инстансам не задали.

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Попробую начать издалека: вам знакомо такое понятие как ООП? Программировали до этого на чем-нибудь?
__________________
тонкий тролль, осеянный благодатью

Старый 20.04.2010, 15:25
stryker вне форума Посмотреть профиль Отправить личное сообщение для stryker Найти все сообщения от stryker
  № 4  
Ответить с цитированием
stryker

Регистрация: Apr 2010
Сообщений: 24
Волгоградец, имена инстансам заданы.
GAIKER, об ООП представление имею, но до этого ничего не программировал.

Эту игру я уже сделал путем программирования на шкале времени и хотелось бы теперь перенести ее в классы, тем самым познакомившись с ними.

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Уберите "var IM:IM02 = new IM02();" и задайте IM02 в качестве Document Class (в панели свойств, рядом с размерами сцены и цветом фона)
__________________
тонкий тролль, осеянный благодатью

Старый 20.04.2010, 15:41
stryker вне форума Посмотреть профиль Отправить личное сообщение для stryker Найти все сообщения от stryker
  № 6  
Ответить с цитированием
stryker

Регистрация: Apr 2010
Сообщений: 24
GAIKER, так пробовал, но тогда ошибок еще больше.
файл IM02.as:
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.display.Stage;
	import flash.text.TextFormat;
 
 
 
	public class IM02 extends MovieClip {
/*
		public var wolf1 = MovieClip;
		public var wolf2 = MovieClip;
		public var basket1 = MovieClip;
		public var basket2 = MovieClip;
		public var basket3 = MovieClip;
		public var basket4 = MovieClip;
		public var egg11 = MovieClip;
		public var egg12 = MovieClip;
		public var egg13 = MovieClip;
		public var egg14 = MovieClip;
		public var egg15 = MovieClip;
		public var egg21 = MovieClip;
		public var egg22 = MovieClip;
		public var egg23 = MovieClip;
		public var egg24 = MovieClip;
		public var egg25 = MovieClip;
		public var egg31 = MovieClip;
		public var egg32 = MovieClip;
		public var egg33 = MovieClip;
		public var egg34 = MovieClip;
		public var egg35 = MovieClip;
		public var egg41 = MovieClip;
		public var egg42 = MovieClip;
		public var egg43 = MovieClip;
		public var egg44 = MovieClip;
		public var egg45 = MovieClip;
		public var rabbit = MovieClip;
		public var rabbit10 = MovieClip;
		public var rabbit11 = MovieClip;
		public var rabbit20 = MovieClip;
		public var rabbit21 = MovieClip;
		public var chicken10 = MovieClip;
		public var chicken11 = MovieClip;
		public var chicken12 = MovieClip;
		public var chicken13 = MovieClip;
		public var chicken14 = MovieClip;
		public var chicken20 = MovieClip;
		public var chicken21 = MovieClip;
		public var chicken22 = MovieClip;
		public var chicken23 = MovieClip;
		public var chicken24 = MovieClip;
		public var chicken1 = MovieClip;
		public var chicken2 = MovieClip;
		public var chicken3 = MovieClip;
 
*/
 
		public var wolfs:Array = new Array(wolf1, wolf2);
		public var baskets1:Array = new Array(basket1, basket2);
		public var baskets2:Array = new Array(basket3, basket4);
		public var egg1:Array = new Array(egg11, egg12, egg13, egg14, egg15);
		public var egg2:Array = new Array(egg21, egg22, egg23, egg24, egg25);
		public var egg3:Array = new Array(egg31, egg32, egg33, egg34, egg35);
		public var egg4:Array = new Array(egg41, egg42, egg43, egg44, egg45);
		public var eggs:Array = new Array(egg11, egg21, egg31, egg41);
		public var eggs51:Array = new Array(egg21, egg31, egg41);
		public var eggs52:Array = new Array(egg11, egg31, egg41);
		public var eggs53:Array = new Array(egg11, egg21, egg41);
		public var eggs54:Array = new Array(egg11, egg21, egg31);
 
		public var egg_temp:MovieClip;
		public var egg_temp5:MovieClip;
		public var egg_temp51:MovieClip;
		public var egg_temp52:MovieClip;
		public var egg_temp53:MovieClip;
		public var egg_temp54:MovieClip;
/*		public var btn1:SimpleButton = new SimpleButton;
		public var btn2:SimpleButton = new SimpleButton;
		public var btn3:SimpleButton = new SimpleButton;
		public var btn4:SimpleButton = new SimpleButton;
		public var btn5:SimpleButton = new SimpleButton;
		public var btn6:SimpleButton = new SimpleButton;
		public var btn7:SimpleButton = new SimpleButton;
		public var btn8:SimpleButton = new SimpleButton;
		public var btn9:SimpleButton = new SimpleButton;
*/
 
 
 
 
 
		//-----Запускаем игруА-----
		// var egg_temp:MovieClip;
		public var wolf_temp:MovieClip;
		public var basket_temp:MovieClip;
		public var kChicken:int;
		public var kScore:int;
 
 
 
		public function IM02() {
 
			//-----Помещаем все яйца сцены в массивы-----
 
			//var eggs:Array = new Array(egg11, egg21, egg31, egg41);
 
 
 
 
 
			score.text = "12: 00";
 
			//-------Видимость символов сцены перед началом игры при ее загрузке-----
			//-----кролики-----
			rabbit.visible = true;
			rabbit10.visible = true;
			rabbit11.visible = true;
			rabbit20.visible = true;
			rabbit21.visible = true;
 
			//-----яйца-----
			egg11.visible = true;
			egg12.visible = true;
			egg13.visible = true;
			egg14.visible = true;
			egg15.visible = true;
			egg21.visible = true;
			egg22.visible = true;
			egg23.visible = true;
			egg24.visible = true;
			egg25.visible = true;
			egg31.visible = true;
			egg32.visible = true;
			egg33.visible = true;
			egg34.visible = true;
			egg35.visible = true;
			egg41.visible = true;
			egg42.visible = true;
			egg43.visible = true;
			egg44.visible = true;
			egg45.visible = true;
 
			//-----нижние цыплята-----
			chicken10.visible = true;
			chicken11.visible = true;
			chicken12.visible = true;
			chicken13.visible = true;
			chicken14.visible = true;
			chicken20.visible = true;
			chicken21.visible = true;
			chicken22.visible = true;
			chicken23.visible = true;
			chicken24.visible = true;
 
			//-----верхние цыплята-----
			chicken1.visible = true;
			chicken2.visible = true;
			chicken3.visible = true;
 
			//-----волки-----
			wolf1.visible = true;
			wolf2.visible = true;
 
			//-----корзины волка-----
			basket1.visible = true;
			basket2.visible = true;
			basket3.visible = true;
			basket4.visible = true;
 
			//-----Игры А, Б-----
			gameA.visible = true;
			gameB.visible = true;
 
			btn5.addEventListener(MouseEvent.CLICK, game_A);
		}
		private function game_A(event:MouseEvent):void {
			//-----Прикрепляем четыре игровых кнопки к слушателям событий-----
			btn1.addEventListener(MouseEvent.CLICK, leftUp);
			btn2.addEventListener(MouseEvent.CLICK, leftDown);
			btn3.addEventListener(MouseEvent.CLICK, rightUp);
			btn4.addEventListener(MouseEvent.CLICK, rightDown);
			//kChicken = 0;
 
 
 
			//-------Видимость символов сцены при нажатии на кнопку "играА"-----
			//-----кролики-----
			rabbit.visible = true;
			rabbit10.visible = false;
			rabbit11.visible = false;
			rabbit20.visible = false;
			rabbit21.visible = false;
 
			//-----яйца-----
			egg11.visible = false;
			egg12.visible = false;
 
			egg13.visible = false;
			egg14.visible = false;
			egg15.visible = false;
			egg21.visible = false;
			egg22.visible = false;
			egg23.visible = false;
			egg24.visible = false;
			egg25.visible = false;
			egg31.visible = false;
			egg32.visible = false;
			egg33.visible = false;
			egg34.visible = false;
			egg35.visible = false;
			egg41.visible = false;
			egg42.visible = false;
			egg43.visible = false;
			egg44.visible = false;
			egg45.visible = false;
 
			//-----нижние цыплята-----
			chicken10.visible = false;
			chicken11.visible = false;
			chicken12.visible = false;
 
			chicken13.visible = false;
			chicken14.visible = false;
			chicken20.visible = false;
			chicken21.visible = false;
			chicken22.visible = false;
			chicken23.visible = false;
			chicken24.visible = false;
 
			//-----верхние цыплята-----
			chicken1.visible = false;
			chicken2.visible = false;
			chicken3.visible = false;
 
			//-----волки-----
			wolf1.visible = false;
			wolf2.visible = false;
 
			//-----корзины волка-----
			basket1.visible = false;
			basket2.visible = false;
			basket3.visible = false;
			basket4.visible = false;
 
			//-----Игры А, Б-----
			gameA.visible = true;
			gameB.visible = false;
 
 
			//-----Назначаем случайным образом начальные позиции для волков, корзин и яиц-----
 
 
			wolf_temp = wolfs[Math.floor(Math.random()*2)];
			wolf_temp.visible = true;
			if (wolf_temp == wolf1) {
				basket_temp = baskets1[Math.floor(Math.random()*2)];
				basket_temp.visible = true;
			}
			if (wolf_temp == wolf2) {
				basket_temp = baskets2[Math.floor(Math.random()*2)];
				basket_temp.visible = true;
			}
			//Счет в игре для количества собранных яиц
			kScore = 0;
			score.text = String(kScore);
			//gotoAndPlay("eggs");
 
		}
		private function leftUp(event:MouseEvent):void {
			wolf1.visible = true;
			wolf2.visible = false;
			basket1.visible = true;
			basket2.visible = false;
			basket3.visible = false;
			basket4.visible = false;
		}
		private function leftDown(event:MouseEvent):void {
			wolf1.visible = true;
			wolf2.visible = false;
			basket1.visible = false;
			basket2.visible = true;
			basket3.visible = false;
			basket4.visible = false;
		}
		private function rightUp(event:MouseEvent):void {
			wolf1.visible = false;
			wolf2.visible = true;
			basket1.visible = false;
			basket2.visible = false;
			basket3.visible = true;
			basket4.visible = false;
		}
		private function rightDown(event:MouseEvent):void {
			wolf1.visible = false;
			wolf2.visible = true;
			basket1.visible = false;
			basket2.visible = false;
			basket3.visible = false;
			basket4.visible = true;
		}
 
 
 
в файле IM02_classes.fla находятся все объекты сцены с указанием их имен (кнопки, мувиКлипы)
 
 
 
ЗЫ: делается такая вот игра:
"http://govtosvita.mk.ua/games/IM02.html" target="_blank">http://govtosvita.mk.ua/games/IM02.html
ЗЫ2: Здесь она сделана на шкале времени.
	}
}

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

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

Старый 20.04.2010, 16:06
stryker вне форума Посмотреть профиль Отправить личное сообщение для stryker Найти все сообщения от stryker
  № 8  
Ответить с цитированием
stryker

Регистрация: Apr 2010
Сообщений: 24
такие: http://s02.***********/i175/1004/f2/f4bcdc9a342d.jpg
Почему-то первые ошибки (до ошибок кнопок) ссылаются на закомментированный код

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Type was not found... - не хватает импорта, в вашем случае - flash.display.SimpleButton
Access of undefined property - проверяйте правильность instance name'ов

У вас сейчас отключена галка Automatically declare stage instances?
__________________
тонкий тролль, осеянный благодатью

Старый 20.04.2010, 16:33
stryker вне форума Посмотреть профиль Отправить личное сообщение для stryker Найти все сообщения от stryker
  № 10  
Ответить с цитированием
stryker

Регистрация: Apr 2010
Сообщений: 24
так. Теперь лучше. Осталась ошибка, связанная с динамическим полем "score".
Automatically declare stage instances - что-то я такого пункта не вижу.

http://s12.***********/i185/1004/5f/3ea6f0ce86e6.jpg

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

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

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


 


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


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