Сблъсък в ActionsScript 3

Жаба

Разработвам флаш игра, наречена Frog, в момента кодът ми за сблъсък между моята жаба и муха не работи според очакванията. Бих искал да го имам, така че да работи нещо подобно на метода, свързан по-долу (последен пример).

Методи за откриване на сблъсък, hitTest и hitTestObject алтернативи

Всяка помощ ще бъде оценена.

function hitTargetFunction():void {
    for (i = 0; i < insectsMC.length; i++) {
        for (j = 0; j < insectsMC[i].length; j++) {
            if (frogMC.hitTestObject(insectsMC[i][j])) {
                trace('Target: ' + insectsMC[i][j].name);
                score +=  1;
                trace('Score: '+score);
                insectsMC[i][j].x = 0 - insectsMC[i][j].width * 2;
            }
        }
    }
}

person Kristian Matthews    schedule 27.04.2012    source източник
comment
@SamDeHaan По принцип този код добавя „ограничаваща кутия“ около обекта, който е квадрат, но не искам „празните“ части от моя филмов клип да се считат за сблъсък.   -  person Kristian Matthews    schedule 27.04.2012
comment
Ако няма начин да се заобиколи това, мисля, че ще създам малък филмов клип в moveiclip и просто ще го поставя в края на езика на жабата и ще го използвам вместо цялата жаба.   -  person Kristian Matthews    schedule 27.04.2012


Отговори (3)


Създаването на филмов клип/спрайт във филмовия клип на жабата вероятно ще бъде най-доброто нещо за вас в тази ситуация. PixelPerfectCollision е много страхотен и полезен (но за по-големите игри, скъп), но сблъсъкът тогава ще бъде с всяко парче от жабата. Можете, разбира се, да разглобите видеоклипа си на жаба и просто да направите PixelPerfectCollision само на езика. Но ако това е за курсова работа, бих се придържал просто да правя hitTest() върху някакъв дисплейен обект вътре в жабата.

person Shawn Freeman    schedule 08.05.2012

Мога ли да предложа да изпробвате фантастичния комплект за откриване на сблъсък?

Сигурен съм, че ще направи всичко, от което се нуждаете, и повече. Също така е AS3, в който е написан примерният ви код, така че се надявам да ви е полезен.

person Neil    schedule 27.04.2012
comment

Какъв тип приложение се опитвате да създадете?

BigQuery не поддържа достъп чрез API ключ, но поддържа различни потоци за упълномощаване, включително използване на оторизация на акаунт за услуга. Прочетете повече за това кой поток за упълномощаване на BigQuery API да изберете.

- person Kristian Matthews; 27.04.2012

Ако не ви е разрешено да използвате библиотека на трета страна за вашата курсова работа, трябва да погледнете този отличен урок на откриване на сблъсък на ниво пиксел с ActionScript 3.0.

Общата идея е, че създавате BitmapData копия на вашите векторни графики и използвате метода hitTest на този клас, за да проверите за сблъсък на ниво пиксел.

person net.uk.sweet    schedule 27.04.2012