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

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

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

Регистрация: Mar 2006
Сообщений: 425
По умолчанию hitTest (attachMovie и мувик на сцене)?

Можно ли отследить хиттест приаттаченного ролика и ролика на сцене?

Старый 27.12.2007, 17:08
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 2  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
можно
__________________
: M F N W :

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

Регистрация: Mar 2006
Сообщений: 425
А как?

Старый 27.12.2007, 17:19
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 4  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
как обычно
__________________
: M F N W :

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

Регистрация: Mar 2006
Сообщений: 425
Как обычно не работает!
Пробую объяснить, вот уонструкция работает:
Код:
for (i=0; i<5; i++) {
r=attachMovie("b", "b"+i, i);
r._x=50+i;
r._y=150+i;
if (r.hitTest(a))
			  {
				  trace(")))");
			  }
}
А вот не работает:
Код:
    for (i=0; i<snowflakes; i++) {

    t = attachMovie("snow", "snow"+i, i);
    t._alpha = 20+Math.random()*60;
    t._x = -(width/2)+Math.random()*(1.5*width);
    t._y = -(height/2)+Math.random()*(1.5*height);
    t._xscale = t._yscale=50+Math.random()*(max_snowsize*10);
    t.k = 1+Math.random()*2;
    t.wind = -1.5+Math.random()*(1.4*3);
    t.onEnterFrame = mover;
if (t.hitTest(a))
			  {
				  trace(")))");
			  }

    }


Последний раз редактировалось repz; 27.12.2007 в 17:58.
Старый 27.12.2007, 18:03
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 6  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
а где функция mover?
Мне кажется что тут путаница с областью видимости, проставьте трейсы - сами разберетесь
__________________
: M F N W :

Старый 27.12.2007, 18:09
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 7  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
Мда виноват проглядел в трейсе, действ. есть "))))".
Но только один раз, а я задумывал что б каждый раз при столкновении.
Как енто мона реализовать?
весь код:
Код:
init = function () {

    width = 1024;
    // pixels
    height = 100;
    // pixels
    max_snowsize = 10;
    // pixels
    snowflakes = 100;
    // quantity
    for (i=0; i<snowflakes; i++) {

    t = attachMovie("snow", "snow"+i, i);
    t._alpha = 20+Math.random()*60;
    t._x = -(width/2)+Math.random()*(1.5*width);
    t._y = -(height/2)+Math.random()*(1.5*height);
    t._xscale = t._yscale=50+Math.random()*(max_snowsize*10);
    t.k = 1+Math.random()*2;
    t.wind = -1.5+Math.random()*(1.4*3);
    t.onEnterFrame = mover;

    }
    };
    mover = function() {

if (t.hitTest(a))
			  {
				  trace(")))");
			  }
trace (t);

    this._y += this.k;
    this._x += this.wind;
    if (this._y>height+10) {

    this._y = -20;

    }
    if (this._x>width+20) {

    this._x = -(width/2)+Math.random()*(1.5*width);
    this._y = -20;

    } else if (this._x<-20) {

    this._x = -(width/2)+Math.random()*(1.5*width);
    this._y = -20;

    }
	

    }
    init();
Срабатывает, но как то странно, через раз или вообще не срабатывает и выводит в трейс 100 "))))" , то есть общее кол-во на сцене, а как вывести только столкновения. Как обратиться именно к той которая совершила хиттест?


Последний раз редактировалось repz; 27.12.2007 в 18:48.
Старый 27.12.2007, 19:11
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 8  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
если вам нужно какое-то физическое столкновение то хит-тест тут не уместен, пользуйтесь математикой. Код ваш труден для чтения, плохо отформатирован
__________________
: M F N W :

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

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

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


 


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


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