![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2013
Сообщений: 1
|
Здравствуйте.
я пытаюсь создать шутер с видом сверху. ситуация такова: на данном этапе я "научил" персонажа подбирать предметы с пола. на следующем этапе я сделал так, чтобы не персонаж перемещался по экрану, а пол перемещался под ним. кроме того я поместил эти предметы внутрь мувиклипа, содержащего пол, чтобы они перемещались вместе с ним. собственно после этого перестали действовать расчеты расстояния между персонажем и предметом. хотя я использовал _root. и указал точный адрес. все равно не работает. я проверил и выявил что проблема именно в переменной rasst. но я не понимаю как это исправть. код висит на объекте. код такой: on (rollOver) { //расчитываем расстояние между героем и объектом по теореме пифагора а2 + б2 = с2 var rasstX = (oil._x - _root.HERO._x)*(oil._x - _root.HERO._x); var rasstY = (oil._y - _root.HERO._y)*(oil._y - _root.HERO._y); var rasst = Math.sqrt(rasstX + rasstY); if (rasst < 60) { // проверяем достаточно ли близко к объекту подошел герой oil._x += 400; // убираем объект с глаз долой _root.flag.play(); // оповещение о выполнении задания _root.notice.gotoAndPlay ("oil"); // конкретный текст оповещения } } (oil - это канистра которую надо подобрать) |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
1. Синтаксис on (что-то там) устарел, с выходом в марте 2002 года, Flash Player 6 (11 лет назад!). Я серьезно. Это предок динозавров.
2. Для работы с координатами клипов помещенных в другие клипы (а значит все координаты являются относительными к глобальным координатам) используют методы MovieClip.localToGlobal (point) и MovieClip.globalToLocal (point). То есть, приводят локальные координаты к глобальным, производят расчеты, а потом переводят их из глобальных к локальным. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|