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

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

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

Регистрация: Feb 2012
Сообщений: 68
Question Обращение к родителю клипа из объекта класса

Ну в общем такая ситуация:
Делаю игру, есть некий класс юнита, обьект которого создается и туда передаются параметры определенные. Обьект содержит переменную clip:MovieClip. По запросу определенной функции этот клип например перемещается или меняется как-то, это по сути неважно. Интересует как мне обратиться к родителю этого мувика, чтобы например проверить карту проходимости, или узнать координаты других обьектов находящихся на уровне....Это моя первая игра в широком смысле, и хочется сделать все грамотно, чтобы потом не стыдно было за код да и изменить чтобы можно было что-то без головоломок и кучи времени.
Если непонятно описал спрашивайте.если надо выложу код класса

Старый 24.02.2012, 14:42
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS3:
clip.parent
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 24.02.2012, 14:43
ashIndie вне форума Посмотреть профиль Отправить личное сообщение для ashIndie Найти все сообщения от ashIndie
  № 3  
ashIndie

Регистрация: Feb 2012
Сообщений: 68
возвращает null. на это первым делом и надеялся))

Старый 24.02.2012, 15:05
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 4  
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
ну так нужно дождаться добавления Event.ADDED
__________________
http://www.chessmax.ru

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Если null, значит родителя нет. По-моему, очень даже логично.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Feb 2012
Сообщений: 68
Inet_PC, спасибо помогло
dimarik, да я понимаю, не понимал почему это происходит.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
– Давай, сынок, иди!
– Папа, а слева есть стена?
– Да, сынок. Слева стена.
– Папа, а справа есть стена?
– Да, сынок, и справа стена.
– Папа, а впереди тоже стена?
– Да,сынок, и впереди стена.
– А че, сразу сказать куда идти – не мог?
– Есть такое слово, сынок – "Разработчик".
__________________
Reality.getBounds(this);

Старый 24.02.2012, 18:47
ashIndie вне форума Посмотреть профиль Отправить личное сообщение для ashIndie Найти все сообщения от ashIndie
  № 8  
ashIndie

Регистрация: Feb 2012
Сообщений: 68
Новая проблема...пытаюсь реализовать данный алгоритм на AS 3.0, но в некоторых местах не пойму что имел ввиду автор.
источник:
http://xitri.com/2008/09/22/simple-e...#comment-78710
Я нк пытаюсь сделать на всем готовеньком, вы меня поймите, но просто просидел уже не один час и зашел в тупик честно говоря. Буду очень рад если найдется ктото, кто поможет.
Вот собственно сам код:
Код AS1/AS2:
step = 2;
 
onEnterFrame = function(){
	var dx = _xmouse - man._x;
	var dy = _ymouse - man._y;
	//Направление (угол) к цели
	var angle = Math.atan2(dy, dx);
	var dist = Math.sqrt(dx*dx + dy*dy);
	if(dist > step) {
		//пробуем пройти напролом
		tgtX = man._x + step * Math.cos(angle);
		tgtY = man._y + step * Math.sin(angle);
		if (!path.hitTest(tgtX, tgtY, true)){
			//напролом не получилось, вычисляем базовое направление
			var dAngle = dAngleRadian(direction, angle);
			workAngle = angle + dAngle*.8;
			//Шаг поворота - 10 градусов
			for(var i = 0; i < 360; i += 10) {
				for(var j = -1; j <= 1; j += 2) {
					var a = workAngle + radian(i) * j;
					var tempX = man._x + step * Math.cos(a);
					var tempY = man._y + step * Math.sin(a);
					if (path.hitTest(tempX, tempY, true)) {
						//точка выхода найдена. Запоминаем ее и прерываем цикл
						tgtX = tempX;
						tgtY = tempY;
						break;
					}
				}
			}
		}
		var timeDx = tgtX - man._x;
		var timeDy = tgtY - man._y;
		//направление движения
		direction = Math.atan2(timeDy, timeDx);
		var dAngle = dAngleDegree(direction*180/Math.PI, man._rotation);
		//поворячиваем клип к направлени движения на 5-ю часть
		man._rotation += dAngle * .2;
		man._x = tgtX;
		man._y = tgtY;
		man.play();
	} else {
		//стоим
		man.gotoAndStop(5);
	}
}
 
function dAngleRadian(a1, a2) {
	var da = a1 - a2;
	if (da > Math.PI) {
		da = -Math.PI*2 + da;
	} else if (da < -Math.PI) {
		da = Math.PI*2 + da;
	}
	return da;
}
function dAngleDegree(a1, a2) {
	var da = a1 - a2;
	if (da > 180) {
		da = -360 + da;
	} else if (da < -180) {
		da = 360 + da;
	}
	return da;
}
function degree(a) {
	return a / Math.PI * 180;
}
function radian(a) {
	return a / 180 * Math.PI;
}
нужен для того чтобы юнит обходил препятствия, но в некоторых местах я не понимаю что имеется ввиду, да и написан он на старом языке, так что переменная может использоваться у него до обьявления или обьявляться дважды....

Старый 24.02.2012, 19:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Одна тема – один вопрос.
__________________
Reality.getBounds(this);

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

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

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


 


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


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