Какой лучший способ программно поменять объекты во флэш-памяти? - PullRequest
0 голосов
/ 16 августа 2011

У меня в основном это

enter image description here

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

Каждый из этих прямоугольников будет уникальным с различной графикой. Это будет в основном другая графика, которая будет отображаться на футболке, которая будет представлена ​​большим черным квадратом.

Теперь я знаю, что каждая из этих картинок должна быть символом кнопки с событием щелчка мыши, но я не совсем уверен, как обработать событие.

Должен ли я просто создать клон этого предмета и переместить его в целевую область? Или возможно создать какой-то пустой заполнитель, где я мог бы просто отобразить это?

Ответы [ 4 ]

1 голос
/ 18 августа 2011

Пройдите эту маленькую игру здесь .Я действительно меняю объекты в Actionscript.

1 голос
/ 17 августа 2011

Самое простое решение - просто отобразить , как вы предлагаете.Вот шаги для этого:

  1. Поместите растровый объект в желтый
  2. Создайте объект BitmapData размером с желтую область и передайте его свойству BitmapDataвашего Bitmap.
  3. Используйте функцию BitmapData.draw () объекта BitmapData, чтобы сделать визуальный снимок синих и зеленых областей.Например, myBitmapData.draw (blueAreaDisplayObject);
  4. Прибыль.
0 голосов
/ 16 августа 2011

Создайте класс, который хранит исходную позицию мувиклипа, и сделайте две функции, одну, которая позволяет вам вернуться в исходную позицию, и одну, которая позволяет вам перемещаться по рубашке.

var currentShirtMC:MC; //current item on shirt   

//this event listener should added to every MC
function md(e:MouseEvent){
  currenShirtMC.moveBack();

 MC(e.target).moveTo();
 currentShirtMC=e.target; //e.target is the movieclip being clicked
}

Этот код сломается, если у вас нет объекта, определенного в currentShirtMC ...

0 голосов
/ 16 августа 2011

Просто дайте ему имя класса в вашей библиотеке, затем прикрепите / удалите клип из библиотеки с помощью цикла и присвойте ему идентификатор.Ваше событие мыши предоставит вам доступ к event.currentTarget, после чего вы можете позвонить установщику / получателю идентификатора, чтобы узнать идентификатор плитки, по которой щелкнули.Затем вы можете прикрепить / удалить плитки из библиотеки.

Если вы не знаете, как это сделать, я предлагаю вам посетить www.kirupa.com, чтобы начать изучать правильную версию AS3.0, которая поможет вамправильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...