Я пытаюсь отслеживать действия пользователя в моем проекте Flash и хранить его в виде файла SWF или видео. Help Я пишу этот код, который захватывает растровые изображения и показывает их, когда нажмите мувиклипЗапишите действие пользователя и сохраните его как файл swf с помощью flash cs6 + as3
stage.addEventListener(Event.ENTER_FRAME,capture)
var ar=new Array()
function capture(e:Event)
{
trace("done")
var bd:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight);
bd.draw(stage);
var screenshot:Bitmap = new Bitmap(bd);
ar.push(screenshot)
}
vv.addEventListener(MouseEvent.CLICK,gg)
var xx=0
var intr
var interval
function gg(e:MouseEvent)
{
interval = setInterval(reg_st, 24);
}
function reg_st()
{
stage.removeEventListener(Event.ENTER_FRAME,capture)
stage.addChild(ar[xx])
if(xx<ar.length-1)
{
xx++
}
else
{
xx=0
}
}
Thank в
Почему непосредственно держите указатели на объект? Они недействительны после завершения приложения. Вы должны получить метаданные на объекте, который получает вход пользователя, скажем, если это «selectDialog.btnToggleParameter» в источнике (!), Вам нужно будет получить фактическую ссылку, начиная со стадии. Это будет выглядеть в форме 'stage.getChildAt (0) [" selectDialog "] [" btnToggleParameter "]', и вы можете получить эти значения только в том случае, если они являются общедоступными. НО, возможен другой способ - 'stage.getChildAt (0) .getChildAt (7) .getChildAt (11)', где числа выводятся путем запроса DisplayList, начиная с 'event.target'. – Vesper
Далее вы можете попытаться захватить события, когда они начнут пузыриться (какое-то событие не пузырится, поэтому вам действительно нужно приложить слушателей к ним по своим целям, другие - в конечном итоге), а затем вы ** отправляете ** правильные события обеспечивая полный набор параметров для правильного события, используя 'stage.dispatchEvent (...)', буквально имитирующий пользовательский ввод. При таком подходе не требуется перерыв в инкапсуляции. – Vesper
Предполагаю, что ваш метод будет работать отлично, если разработчик использует модель Event. Но если пользователь использует сигналы, обратные вызовы и т. Д., Я считаю, что единственное, что нам осталось, - это добавить слушателей к источникам входных данных и входам отслеживания. Как я уже говорил, нетрудно воспроизвести действия пользователей, так же как взаимодействие с графическим интерфейсом, имеющим только эти данные. Ну, мой ответ более теоретический и может не соответствовать реальной реализации запланированного дизайна приложения. Поэтому я не утверждаю, что мой ответ - единственный лучший, рабочий или возможный. –