记录用户操作并使用flash cs6 + as3将其保存为swf文件

时间:2013-08-14 06:06:49

标签: actionscript-3 flash flash-cs6

我试图在我的Flash项目上跟踪用户操作并将其存储为swf文件或视频任何帮助请 我编写了捕获位图的代码,并在单击时显示它们 movieclip

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
        }
    }

感谢&#39; S

1 个答案:

答案 0 :(得分:1)

跟踪很简单,添加侦听器以跟踪键盘输入和鼠标输入,您将对以下内容感兴趣:

stage.addEventListener(KeyboardEvent.KEY_DOWN, onUserKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onUserKeyUP);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onUserMouseMove);
stage.addEventListener(KeyboardEvent.MOUSE_DOWN, onUserMouseUp);
stage.addEventListener(KeyboardEvent.MOUSE_UP, onUserMouseDown);

当输入发生时,处理程序将简单地将事件放入带有时间戳的数组中。

更难的部分是播放。或者实际上 - 互动。您基本上需要模拟整个程序。根据应用程序的结构和逻辑,它可能非常难,或非常简单。我将无法为您提供此类问题的代码,但我可以分享一步一步的逻辑,可以帮助您制定自己的解决方案:

  1. 将侦听器添加到所有预期的用户交互,而不是程序的根级别
  2. 制作一些收藏家,用于存储所有带时间戳的事件,也可能是对象的指针。
  3. 获取数据(在用户退出程序时发送此数据,或从上一个会话中输入程序)
  4. 使用时间戳信息提供的时间偏移从用户交互数组中调用方法(处理程序)。注意:您需要制动封装并公开所有这些方法。
  5. 欣赏您的“视频”。