Скрипт действия Подвижные точки и линии - PullRequest
0 голосов
/ 26 октября 2011

Я довольно новичок в Action Script, и у меня есть пара вопросов об игре, которую я создаю:

  1. Как я могу сделать так, чтобы объект MovieClip мог перетаскиваться мышью?
  2. Если у меня есть два экземпляра MovieClip, возможно ли создать новую фигуру / объекты MovieClip, которые выглядят как линия и которые затем соединятся?экземпляры сталкиваются с экземплярами мувиклипа 'line', теперь это все разные функции и условные, но возможно ли проверить, все ли они верны?

Спасибо за ЛЮБУЮ помощь.Серьезно, ЛЮБАЯ помощь - это здорово.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

1) посмотрите на startDrag/stopDrag методы.Затем может вызываться в Sprite или любом из его подклассов

2) да, вы можете использовать объект graphics любого Sprite для рисования произвольных линий / фигур

3) для обнаружения столкновений с несколькими объектами вам придется проходить через каждый объект.попробуйте использовать for loop

0 голосов
/ 26 октября 2011

Что ж, сначала сделать перетаскиваемый MovieClip довольно просто, вам просто нужно сделать mc.startDrag ();и mc.stopDrag ();чтобы остановить движение ...

Обычно это делается вместе с примером событий MOUSE_DOWN и MOUSE_UP:

mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
    e.currentTarget.startDrag();
});

mc.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
    e.currentTarget.stopDrag();
});

Вы также можете определить блокировку центра или прямоугольника, который ограничивает перетаскивание наметод startDrag, в основном, если центр блокировки равен true, при перетаскивании мышь будет придерживаться центра мувиклипа, а прямоугольник ограничит область перетаскивания, например, холста.

Второй вопрос,

Вы можете создать новый MC в AS3 следующим образом: var mc: MovieClip = new MovieClip ();затем нарисуйте линию в MC с графикой ...

Более подробный пример:

var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0x000000);
mc.graphics.lineStyle(2,0x000000);

//start drawing the line
mc.graphics.moveTo(10,10);
mc.graphics.lineTo(10,100);
mc.graphics.endFill();

//Position your new movie clip
mc.x = 80;
mc.y = 60;
addChild(mc);

Наконец, я не уверен, как вы реализовали обнаружение столкновений, но вы можете иметь возможностьмассив состояний для каждого элемента и изменяйте их, когда что-то сталкивалось, тогда вы можете зацикливаться в массиве, чтобы проверить, все ли они истинны ...

...