CreateJS是否包含与AS3中的“ ENTER_FRAME”类似的事件侦听器?

梅林

我正在尝试将“ ActionScript 3.0:游戏编程大学”中的效果转换为HTML5 Canvas渲染,更具体地说是Create / EaselJS。

这是我正在处理的代码:

    private var flipStep:uint;
    private var isFlipping:Boolean = false;
    private var flipToFrame:uint;

    // begin the flip, remember which frame to jump to
    public function startFlip(flipToWhichFrame:uint) {
        isFlipping = true;
        flipStep = 10;
        flipToFrame = flipToWhichFrame;
        this.addEventListener(Event.ENTER_FRAME, flip);
    }

    // take 10 steps to flip
    public function flip(event:Event) {
        flipStep--; // next step

        if (flipStep > 5) { // first half of flip
            this.scaleX = .20*(flipStep-6);
        } else { // second half of flip
            this.scaleX = .20*(5-flipStep);
        }

        // when it is the middle of the flip, go to new frame
        if (flipStep == 5) {
            gotoAndStop(flipToFrame);
        }

        // at the end of the flip, stop the animation
        if (flipStep == 0) {
            this.removeEventListener(Event.ENTER_FRAME, flip);
        }
    }

在意识到这一点之前,我已经走了一半,大约需要逐步推动每一帧才能正确设置动画。这是HTML5中我的JS等效项:

function FlipTile(e)
{
    if (!TileFlipping)
    {
        var flipStep = 30;
        var sprite = e.currentTarget;
        console.log(sprite);

        TileFlipping = true;

        flipStep--;

        if (flipStep > 15)
        {
            sprite.scaleX = .02 * (flipStep-6);
        } else {
            sprite.scaleX = .02 * (5 - flipStep);
        }


        if (flipStep == 0)
        {
            TileFlipping = false;
        }

    }
}

这种效果就好像是一张卡片在中心翻转一样,但是如果没有逐步操作,这会破坏并严重扭曲“精灵”翻转。它也只会发射一次,打破翻转计数器。这使它寻找等效的ENTER_FRAME ..或一种替代方法。此刻,我很沮丧。

联合的

不太确定我的问题是否正确-但您应该Ticker在舞台上使用CreateJS更新内容,请在此处检查文档:http : //www.createjs.com/docs/easeljs/classes/Ticker.html您可以替换为Event.ENTER_FRAME"tick"并保持与AS3示例中的逻辑相同。

在内部,Ticker使用window.requestAnimationFrame其通常运行每秒60次(= 60帧)。https://developer.mozilla.org/zh-CN/docs/Web/API/window/requestAnimationFrame

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

侦听器是否可以错过ENTER_FRAME事件或将其延迟接收?

来自分类Dev

如何从父级中删除jQuery事件侦听器而不删除类似的侦听器?

来自分类Dev

删除事件侦听器as3

来自分类Dev

ENTER_FRAME事件无法与MouseEvent As3一起正常工作

来自分类Dev

在AS3中放置事件侦听器的最佳位置

来自分类Dev

jQuery中的单击事件侦听器

来自分类Dev

Java 中的事件(侦听器)

来自分类Dev

从CreateJS事件侦听器函数访问类属性?

来自分类Dev

从AS3中的侦听器获取点击坐标

来自分类Dev

从AS3中的侦听器获取点击坐标

来自分类Dev

对于Java中添加到DOM中的新元素beeing,是否有一个类似于“ onload”的事件侦听器?

来自分类Dev

AS3使用许多事件侦听器导致问题,如何减少?

来自分类Dev

是否使用“ .click()”异步触发事件侦听器?

来自分类Dev

是否有 jQuery 的 .load(); 的 jQuery 事件侦听器?

来自分类Dev

如何从reactjs中的文档中删除事件侦听器

来自分类Dev

创建一个事件侦听器来侦听变量中的值是否已更改

来自分类Dev

jQuery在不同的DOM层次结构中委派的事件侦听器-是否会触发适用的事件侦听器?

来自分类Dev

如何删除Aurelia中的事件侦听器?

来自分类Dev

工厂服务中的Angular Js事件/侦听器

来自分类Dev

如何在Firebug中调试事件侦听器?

来自分类Dev

在VBA中以编程方式创建事件侦听器

来自分类Dev

清理自定义元素中的事件侦听器

来自分类Dev

ReactJS:在JQuery事件侦听器函数中调用“ this”

来自分类Dev

Symfony 2:在ContainerAwareCommand中禁用Doctrine事件侦听器

来自分类Dev

Adobe CQ:关于事件侦听器中的会话

来自分类Dev

DataTables中的事件侦听器拒绝工作

来自分类Dev

处理Kotlin中事件总线的通用侦听器

来自分类Dev

读取事件侦听器未在本机反应中触发

来自分类Dev

如何在EaselJS对象中删除事件侦听器

Related 相关文章

  1. 1

    侦听器是否可以错过ENTER_FRAME事件或将其延迟接收?

  2. 2

    如何从父级中删除jQuery事件侦听器而不删除类似的侦听器?

  3. 3

    删除事件侦听器as3

  4. 4

    ENTER_FRAME事件无法与MouseEvent As3一起正常工作

  5. 5

    在AS3中放置事件侦听器的最佳位置

  6. 6

    jQuery中的单击事件侦听器

  7. 7

    Java 中的事件(侦听器)

  8. 8

    从CreateJS事件侦听器函数访问类属性?

  9. 9

    从AS3中的侦听器获取点击坐标

  10. 10

    从AS3中的侦听器获取点击坐标

  11. 11

    对于Java中添加到DOM中的新元素beeing,是否有一个类似于“ onload”的事件侦听器?

  12. 12

    AS3使用许多事件侦听器导致问题,如何减少?

  13. 13

    是否使用“ .click()”异步触发事件侦听器?

  14. 14

    是否有 jQuery 的 .load(); 的 jQuery 事件侦听器?

  15. 15

    如何从reactjs中的文档中删除事件侦听器

  16. 16

    创建一个事件侦听器来侦听变量中的值是否已更改

  17. 17

    jQuery在不同的DOM层次结构中委派的事件侦听器-是否会触发适用的事件侦听器?

  18. 18

    如何删除Aurelia中的事件侦听器?

  19. 19

    工厂服务中的Angular Js事件/侦听器

  20. 20

    如何在Firebug中调试事件侦听器?

  21. 21

    在VBA中以编程方式创建事件侦听器

  22. 22

    清理自定义元素中的事件侦听器

  23. 23

    ReactJS:在JQuery事件侦听器函数中调用“ this”

  24. 24

    Symfony 2:在ContainerAwareCommand中禁用Doctrine事件侦听器

  25. 25

    Adobe CQ:关于事件侦听器中的会话

  26. 26

    DataTables中的事件侦听器拒绝工作

  27. 27

    处理Kotlin中事件总线的通用侦听器

  28. 28

    读取事件侦听器未在本机反应中触发

  29. 29

    如何在EaselJS对象中删除事件侦听器

热门标签

归档