|
|
|||||
Регистрация: Jan 2010
Сообщений: 38
|
Объединение мувиклипов
Добрый вечер.
У меня довольно сложный вопрос. Постараюсь подробнее описать ситуацию. В игре есть некоторое количество мувиклипов с анмиациями для блоков. Все они одного размера. Есть мувиклип для другого объекта - шарика. Первый вопрос: как можно обойти написания кода коллизии шарика с блоками, его отталкивание, добавление за это очков и в исчезновение блока, для каждого мувиклипа в отдельности? То есть объединить как-то все мувиклипы блоков в один класс, наверное. И написать код коллизии шарика с классом "блок". Видимо как-то так. Но на этом этапе возникает еще один вопрос - ведь если сделать код для столкновения шарика и класса "блок" и написать что блок должен исчезнуть, то пропадут все объекты этого класса, а не конкретный. Тут возможно следует применять id для каждого блока, но наверное есть способы проще? |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
Принцип можно использовать, как здесь. На седьмой странице презентации.
В блоке написано только вызывание функции, которая записывает его (это блок) в массив и, по необходимости, добавляет к блоку действия. Цитата:
__________________
hauts.ru Последний раз редактировалось Hauts; 22.01.2010 в 07:59. |
|
|||||
Регистрация: Jan 2010
Сообщений: 38
|
Спасибо, посмотрел примеры, сделал массив с блоками и записал в него все мувиклипы блоков, но пока коллизию с шариком не сделал - что-то не то выходит.
Код коллизии, который работал для мувиклипа шарика и мувиклипа блока теперь не работает для мувиклипа шарика и массива всех блоков. Делаю арканоид, да. Массив блоков сделал как в презентации, мувиклипы блоков записал в массив. И написал такой код для коллизии шарика и массива блоков. Он работал когда был для столкновения двух мувиклипов а теперьн е работает. Последний раз редактировалось CHLameR; 23.01.2010 в 19:51. |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
Вы в цикле проверяйте столкновение каждого записаного в массив блока с шариком. По такому коду, что вы привели, ничего не скажешь. Если у вас boxes — это массив, то код неправильный.
__________________
hauts.ru |
|
|||||
Регистрация: Jan 2010
Сообщений: 38
|
boxes - массив в который записываются блоки.
Это код для коллизи блоков с шариком. Если шарик коснулся - блок удаляется. НО удаление блоков не работает. В чем моя ошибка? |
|
|||||
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
Если за пример взять тот код, что я привел в ссылке, то добавьте к оригиналу
function createline(x2,y2){ var Width = 60; var Height = 20; game.v[ins++] = {p0: {x: x2, y: y2}, p1: {x: x2 + Width, y: y2}, b: 1, f: 1}; game.v[ins++] = {p0: {x: x2 + Width, y: y2}, p1: {x: x2 + Width, y: y2+Height}, b: 1, f: 1}; game.v[ins++] = {p0: {x: x2 + Width, y: y2+Height}, p1: {x: x2, y: y2+Height}, b: 1, f: 1}; game.v[ins++] = {p0: {x: x2, y: y2+Height}, p1: {x: x2, y: y2}, b: 1, f: 1}; } |
|
|||||
Регистрация: Jan 2010
Сообщений: 38
|
Добавил строку про глубину, все заработало, как должно было. Спасибо.
Тот код по ссылке я посмотрел, но не стал его использовать, так как уже написал код своего арканоида, многое уже было готово и я хотел только доделать, но не переделывать имеющийся код. Но пример очень любопытный, на будущее возьму на заметку себе. И видимо, для создания генерирующихся уровней мне нужно будет серьезно доработать мой код. |
Часовой пояс GMT +4, время: 18:35. |
|
« Предыдущая тема | Следующая тема » |
|
|