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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.04.2010, 16:44
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 11  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

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

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

Регистрация: Apr 2010
Сообщений: 24
в окне "параметры" все галки стоят.
Ошибка, связанная с динамическим полем, осталась:
Изображения
 

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

Регистрация: Apr 2010
Сообщений: 24
прошу прощения, динамическое поле score, я, видимо, случайно удалил со сцены. Теперь порядок.
Спасибо, GAIKER, за помощь.

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

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

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

Регистрация: Apr 2010
Сообщений: 24
ок, если я галку убираю, то в файле IM02.as в моем случае нужно будет записать:
Код AS3:
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;
и т.д.
верно?

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

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

Код AS3:
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;
Вы объявляете переменную, и если флэш находит объект с instance name таким же, как имя переменной, то флэш сам присваивает ей этот объект.
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Apr 2010
Сообщений: 24
понятно.
Большое спасибо за разъяснения

Добавлено через 4 часа 4 минуты
Вот, все же непонятно.
Касательно моей игры: http://govtosvita.mk.ua/games/im02.html
со шкалой времени все, вроде, ясно: через сколько кадров появляется яйцо и через сколько кадров оно исчезает с экрана. Скорость движения яиц задается количеством кадров в секунду.

А как же с классами задавать время появления и исчезания яиц со сцены?

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

Регистрация: Apr 2010
Сообщений: 24
Товарищи, помогите, в чем проблема:
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.Event
	import flash.events.MouseEvent;
	import flash.display.Stage;
	import flash.text.*;
	import flash.display.SimpleButton;
 
	import score.Score;
 
 
 
	public class IM02 extends MovieClip 
	{
 
		public var wolf1_2: Class;
		public var basket1_2: Class;
		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 scoreGame12: TextField;
		public var gameA: MovieClip;
		public var gameB: MovieClip;
		public var btn1: SimpleButton;
		public var btn2: SimpleButton;
		public var btn3: SimpleButton;
		public var btn4: SimpleButton;
		public var btn5: SimpleButton;
		public var btn6: SimpleButton;
		public var btn7: SimpleButton;
		public var btn8: SimpleButton;
		public var btn9: SimpleButton;
 
 
		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);
 
 
			scoreGame12.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);
			//btn6.addEventListener(MouseEvent.CLICK, game_B);
		}
		public 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;
 
			scoreGame12.text = "abracadabra";
 
			//Счет в игре для количества собранных яиц
			//kScore = 0;
			//scoreGame12.text = String(kScore);
			//gotoAndPlay("eggs");
 
 
 
 
			stage.addEventListener(Event.ENTER_FRAME, startGameA);
		}
 
//			public var wolf_temp:MovieClip;
//			public var basket_temp:MovieClip;
		public function startGameA(event:Event):void 
		{
			//-----Назначаем случайным образом начальные позиции для волков, корзин и яиц-----
 
//			wolf_temp = new wolf1_2();
//			basket_temp = new basket1_2();
			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;
			}
		}
 
		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;
		}
	}
}
Ругается так:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at IM02/startGameA()

что в этой функции не так? Ведь все переменные внутри этой функции объявлены выше.

Спасибо

Старый 27.04.2010, 12:33
mickfallout вне форума Посмотреть профиль Отправить личное сообщение для mickfallout Найти все сообщения от mickfallout
  № 19  
Ответить с цитированием
mickfallout
 
Аватар для mickfallout

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Код AS3:
		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 scoreGame12: TextField;
		public var gameA: MovieClip;
		public var gameB: MovieClip;
		public var btn1: SimpleButton;
		public var btn2: SimpleButton;
		public var btn3: SimpleButton;
		public var btn4: SimpleButton;
		public var btn5: SimpleButton;
		public var btn6: SimpleButton;
		public var btn7: SimpleButton;
		public var btn8: SimpleButton;
		public var btn9: SimpleButton;
какой ужас. а что мешает хранить однотипные объекты в массиве? или даже в векторе(если под FP10 компилите)
Код AS3:
//			public var wolf_temp:MovieClip;
закоментированные объявления компилятор не видит)
__________________
Могу ошибаться... =)

Старый 27.04.2010, 13:19
stryker вне форума Посмотреть профиль Отправить личное сообщение для stryker Найти все сообщения от stryker
  № 20  
Ответить с цитированием
stryker

Регистрация: Apr 2010
Сообщений: 24
Цитата:
что мешает хранить однотипные объекты в массиве?
учусь еще. Пока что так устраивает.
Цитата:
закоментированные объявления компилятор не видит)
переменная wolf_temp уже объявлена выше была. Закомментирован повтор.

Так что проблема осталась.
Интересно, если трейсить wolf_temp внутри функции startGameA, то всегда почему-то null. На это, собственно, и ругается флеш.
Но не понимаю, почему null

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

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

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


 


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


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