Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   hitTest с мувиком сложной формы (http://www.flasher.ru/forum/showthread.php?t=99103)

Dampire 28.07.2007 13:15

hitTest с мувиком сложной формы
 
Всем прет)
Подскажите ктонить как мне сделать скрипт (на hitTest обьекта(например мячика) с обьектом сложной формы (например стен, пола(тоесть не прямоугольника)) )
Просто постоянно сталкивался с проблемой создания игр и останавливался на этом...
Вот...))) Жду ответа или исходника:rolleyes: )))
Пасиб заранее...

BigDan 28.07.2007 13:43

1.Опиши нужные тебе клипы массивом точек.
2.Между двумя клипами проверяй, не лежит ли одна из точек на другом клипе.

з.ы. Есть класс, который реализует это, только на АС3.

Dampire 28.07.2007 13:58

(CHAINIK = 1) "что значит массив точек?" (CHAINIK = 0)
Скажи нет ли исходника на эту тему ато я так плохо вьезжаю...

CrazyFlasher 28.07.2007 14:15

на сцене 2 мувика: car1, wall

код в 1 фрейме:

Код:

this.onEnterFrame = function(){
        if (wall.hitTest(car1.getBounds(_root).xMax, car1._y, true)) {
                car1._x -= 3;
        }
        if (wall.hitTest(car1.getBounds(_root).xMin, car1._y, true)) {
                car1._x += 3;
        }
        if (wall.hitTest(car1._x, car1.getBounds(_root).yMax, true)) {
                car1._y -= 3;
        }
        if (wall.hitTest(car1._x, car1.getBounds(_root).yMin, true)) {
                car1._y += 3;
        }
        mcMovement(car1);
}

function mcMovement(mc:MovieClip){
        if(Key.isDown(Key.RIGHT)){
                mc._x += 3;
        }
        if(Key.isDown(Key.LEFT)){
                mc._x -= 3;
        }
        if(Key.isDown(Key.UP)){
                mc._y -= 3;
        }
        if(Key.isDown(Key.DOWN)){
                mc._y += 3;
        }
}

хиттест не очень точный, но зато не тормозит.
Объекты могут быть практичекси любой формы

Dampire 28.07.2007 14:27

Вложений: 1
Просьба в этом мувике исправить hitTest ))))
Если не сложно)

CrazyFlasher 28.07.2007 14:38

хах...а что ещё сделать? =)

я дал помоему очень понятный и просто пример...если что-то конкретно непонятно - спрашивайте...полностью за вас делают в разделе "вакансии"

Dampire 28.07.2007 14:40

Вложений: 1
Вроде вьехал...
Терь другое)) ;)
Вот моя игруха недоделаная...
Вопрос - Как мне сделать чтобы платформа непроходила сквозь стенку - это уже сложнее(((

Dampire 28.07.2007 14:42

Просто я написал после того как ты ответил и не видел что ты ответил)... Вот...

CrazyFlasher 28.07.2007 14:44

нужно сделать, чтобы плтфаорма отскакивала от стены с такой же "скоростью" с которой дотргагивается...для этого надо узнать перемещение платформы за последний enterFrame. Это один из вариантов.


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

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