Я думаю, что это довольно странно, что я ничего не нашел ... что означает, что ответ действительно прост, но я не понимаю его или это что-то еще.haxe/OpenFL: Как уничтожить/удалить кирпич
Я использую haxe и openFL, и это упражнение касается не использования каких-либо других фреймворков. Я создаю клон Clout Atari. Я пытаюсь обработать событие столкновения между блоком и мячом. Все блоки хранятся в массиве map[]
, который повторяется.
if ((ball.x > (map[i].x) && ball.x < (map[i].x+20)) && (ball.y > (map[i].y) && ball.y < (map[i].y+20))) {
this.removeChild(map[i]);
ballMovement.y *= -1;
}
Мяч имеет радиус 10px и каждый блок 20x20. (Кроме того, да, мяч будет отскакивать неловко, но у меня не было времени, чтобы сделать достойную функцию отскока, так что теперь вам нужно будет сделать это)
Я получаю неожиданное поведение. Да, теперь блоки исчезают, но иногда кажется, что мяч отскакивает от невидимых блоков. Вопрос в том, правильно ли я удаляю эти элементы? Не определено ли обнаружение столкновения?
Конечно, я не удалял его из массива. На следующее утро я заметил это правильно. Одна из проблем, связанных с поздним кодированием: P очень благодарна. – Thaenor