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

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

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

Регистрация: Jun 2006
Сообщений: 77
Attention Проблема hittest клипов. Или что такое _root[name]?

Привет всем! такая ситуация. Делаю для себя что-то типа игры, в которой танк выпускает шарики при нажатии на кнопку. Вот код:

Код:
stop();
speed = 5;
depth = 0;
depth1 = 1;
root.onMouseDown = function() {
	angle = ball._rotation;
	angle = angle*Math.PI/180;
	ball.gotoAndPlay(2)
	++depth;
	txtShoots.text = depth
	//var loh:Array = new Array(1,2,3,4,5)
	//var popa = loh[kuka]
	name = "pula"+depth;
	var num:Number = random(4)+1;
	var newname = "pula"+num;
	updateAfterEvent();
	_root.attachMovie(newname,name,depth);
	_root[name]._x = ball._x+nose*Math.cos(angle);
	_root[name]._y = ball._y+nose*Math.sin(angle);
	_root[name].xmov = speed*Math.cos(angle);
	_root[name].ymov = speed*Math.sin(angle);
	_root[name].onEnterFrame = function() {
		this._x += this.xmov;
		this._y += this.ymov;
                if (this._x>390) {
			this.xmov *= -1;
			this._alpha -= 15;
		}
		if (this._x<10) {
			this.xmov *= -1;
			this._alpha -= 15;
		}
		if (this._y>490) {
			this.ymov *= -1;
			this._alpha -= 15;
		}
		if (this._y<105) {
			this.ymov *= -1;
			this._alpha -= 15;
		}
		if (this._alpha<20) {
			removeMovieClip(this);
		}
		if (ball.hitTest(this._x, this._y, true)) {
			++depth1;
			var crash = "bang"+depth1;
			this.attachMovie("bang",crash,depth1);
			this.crash._x = this._x;
			this.crash._y = this._y;
			crash.gotoAndPlay(2);
			this.gotoAndPlay(2);
			this._alpha = 100;
			delete this.onEnterFrame;
			txtCrashes.text = depth1;
		}
Так вот он выпускает шарики которые называет последовательно pula1, pula2 и т.д.

Столкновения с самим танком работает, со стенами тоже. НО! никак не получается сделать hittest между пулями.
Все перепробовал... может просто я не понимаю как и что такое _root[name].
Просто если бы это была просто переменная например равная ("pula"+depth) то можно было бы еще попытаться.

Мой мозг начинает ломаться...


Последний раз редактировалось iNils; 14.11.2007 в 15:13.
Старый 14.11.2007, 15:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Для оформления своего кода, надо использовать теги [code][/code].
_root[name] это путь к клипу
Например _root.pula1
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jun 2006
Сообщений: 77
спс. понял. Но потом после кода, например если написать trace("pula"+depth._x) то выдает "pulaundefined" в OUTPUT. вот в этом то и загвоздка, что он так просто не распознает это дело..

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
А что должно быть по вашему?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код:
trace(_root["pula"+depth]._x)
__________________
Flash Developer
Папа TDP4 Team Battle

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

Регистрация: Jun 2006
Сообщений: 77
ну _x клипа, котрый pula1, pula2 и.т.д.

СПАСИБО! пробовал такое, видимо ошибся где-то
а вопрос про реализацию столкновения можете подсказать?\
просто они же все разные, и прибавляются еще и еще новые с новым кликом.
Я думал что сделать переменную, например "123" которая меньше на один depth. и если pula_depth сталкивается с 123, то типа событие происходит. Правильно ли это? не работает....


Последний раз редактировалось iNils; 14.11.2007 в 15:43.
Старый 14.11.2007, 16:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Musatoff, без "ну помогите", это не служба поддержки, будет у людей время и до вас доберутся.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 14.11.2007 в 16:56.
Старый 14.11.2007, 16:53
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 8  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
thanks

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

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

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


 


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


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