Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нужна помощь с мувиками в Hit test-е (http://www.flasher.ru/forum/showthread.php?t=202673)

Flash men 31.07.2013 22:50

Нужна помощь с мувиками в Hit test-е
 
Прив всем :)
Работаю над скриптами движения персонажа. Использую Hit test но при названии мувика он работает только с одним экземпляром мувклипа. Вот код:
Код AS1/AS2:

if (sensor_1.hitTest(wall)) {trace("They are colliding!!!");}
if (sensor_2.hitTest(wall)) {trace("They are colliding!!!");}
if (sensor_3.hitTest(wall)) {trace("They are colliding!!!");}
if (sensor_4.hitTest(wall)) {trace("They are colliding!!!");}

Я сделал 3 мувика wall но Хит тест работает только с одним :(

Добавлено через 1 час 15 минут
Аууу есть Кто на форуме....

tsarapkabel 01.08.2013 01:56

Ну переменная-то одна — wall, она уникальна и в ней может храниться только 1 объект MovieClip.

Добавлено через 8 минут
Метод hitTest был в AS2, в AS3 он используется применительно к BitmapData.
Для определения столкновений используются методы hitTestObject, hitTestPoint.

scnippers 01.08.2013 14:13

Можно все объекты wall занести в массив и обращатся потом к ним.
Код AS3:

var all:Array = [];
for(var i:uint=0; i<4;i++)
{
    var wall:Wall = new Wall();
    all.push(wall);
}
if (sensor_1.hitTest(all[0])) {trace("They are colliding!!!");}
if (sensor_2.hitTest(all[1])) {trace("They are colliding!!!");}
if (sensor_3.hitTest(all[2])) {trace("They are colliding!!!");}
if (sensor_4.hitTest(all[3])) {trace("They are colliding!!!");}

ну это если у тебя Wall один объект из которого сделано много копий, а если разные объекты то можно и без цикла


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

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