zoukankan      html  css  js  c++  java
  • Starling之影片剪辑

    Starling包含一个非常轻量的影片类:MovieClip。你可以猜想这个类像一个不断更换纹理的图片。(因为它扩展自图片,它确实是这样的)。
    建议影片剪辑所有的帧都来自一个纹理图集,并且它们都具有相同的大小(如果没有的话,它们将被拉伸到与第一帧相同的尺寸)。
    这是一个简单的纹理图集,它包含了影片剪辑所有的帧。首先,看看帧坐标的XML。请意它的每帧的名字都用"flight_"做前缀。

    1 <TextureAtlas imagePath="atlas.png">
    2     <SubTexture name="flight_00" x="0" y="284" width="166" height="164"/>
    3     <SubTexture name="flight_01" x="332" y="284" width="166" height="160"/>
    4     <SubTexture name="flight_02" x="166" y="284" width="166" height="150"/>
    5     <SubTexture name="flight_03" x="0" y="586" width="192" height="142"/>
    6     <!-- ... -->
    7 </TextureAtlas>

    这是对应的纹理:

    现在让我们来创建影片剪辑:

     1 // 嵌入图集的XML
     2 [Embed(source="atlas.xml", mimeType="application/octet-stream")]
     3 public static const AtlasXml:Class;
     4 
     5 // 嵌入纹理图集
     6 [Embed(source="atlas.png")]
     7 public static const AtlasTexture:Class;
     8 
     9 // 创建图集
    10 var texture:Texture = Texture.fromBitmap(new AtlasTexture());
    11 var xml:XML = XML(new AtlasXml());
    12 var atlas:TextureAtlas = new TextureAtlas(texture, xml);
    13 
    14 // 创建影片剪辑
    15 var movie:MovieClip = new MovieClip(atlas.getTextures("flight_"), 10);
    16 movie.loop = false; // default: true
    17 addChild(movie);
    18 
    19 // 控制播放
    20 movie.play();
    21 movie.pause();
    22 movie.stop();
    23 
    24 // 重要的是:添加影片到juggler
    25 Starling.juggler.add(movie);

    你有没有注意我们如何通过它们的前缀"flight_"从图集中引用纹理?这允许你创建一个包含不同影片剪辑和其它纹理的混合图集。只要给所有帧相同的前缀。
    已经用这些纹理创建了影片以及一个10帧每秒的播放速率。像所有的动画一样,它已经传给了juggler--不要忘了这一点!
    你也可以对某些帧使用自定义持续时间,每当某帧显示时开始播放声音。

    1 // 添加另一帧,它只显示半秒
    2 movie.addFrame(anotherTexture, null, 0.5);
    3 
    4 // 在第0帧添加声音
    5 movie.setFrameSound(0, new EmbeddedSound());
    6 
    7 // 插入一个带有特殊声音和持续时间的帧
    8 movie.addFrameAt(2, anotherTexture, anotherSound, 0.5);

    值得一提的另一个特征是:每当影片剪辑显示它的最后一帧时它分发Event.COMPLETE事件(每循环一次)。

    原文链接:Starling之影片剪辑

    英文链接:http://wiki.starling-framework.org/manual/movie_clips

  • 相关阅读:
    python之路
    go mod
    黑苹果流程
    mac go配置,环境配置
    mac重装系统
    多级分销概念 MongoDB||MySQL
    MongoDB查询mgov2的聚合方法
    linux被当矿机排查案例
    docker-compose容器中redis权限问题
    docker-compose中redis查询版本
  • 原文地址:https://www.cnblogs.com/atong/p/2942304.html
Copyright © 2011-2022 走看看