![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
Все, наверное, играли в "Змейку". Я задался вопросом разработки похожей системы бонусов. Нужно чтоб бонус появлялся потом герой его "съедал" и появлялся новый. Но возникла проблема. Игра использует тайловую систему, то есть есть места где "земля", а есть , где "стены" и бонусы иногда появляются в местах где стены и куда герой, разумеется, не может попасть. Привожу код:
private function removeBonus(e:Event) { if (Amath.equal(bonus.x, grid.x,24) && Amath.equal(bonus.y,grid.y,24)) // сравнение координат бонуса и стены с определенной погрешностью { addBonus(); } else { addChild(bonus); } if (inMap(bonus.x, bonus.y)){ // проверка на расположение в пределах карты addChild(bonus); }else addBonus() } public function addBonus() { bonus = new Bonus_mc ; bonus.x = Math.ceil(Math.random() * 10) * 21 + 10.5 ; bonus.y = Math.ceil(Math.random() * 10) * 24 + 10.5 ; bonus.gotoAndStop(1); trace("Bonus initialized..."); } Последний раз редактировалось reNiks; 26.05.2011 в 16:14. Причина: опечатки |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
я бы хранил все данные о стенах например в битмапдате
т.е. создаем пустую (черную) битмапдату, и добавляем туда белые стены, затем при добавлении бонуса простой проверкой bmpd.getPixel(x,y) == 0, проверяем что там - стена или пустота
__________________
low + |
|
|||||
|
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|