none
关于METRO动画控件的问题 RRS feed

  • 问题

  • 请问METRO是否提供了游戏动画的控件?非渐入渐出这种,譬如一组动画序列循环播放实现GIF效果并且控制其移动的功能
    2012年7月26日 1:16

答案

全部回复

  • 无此类型的控件,需要自己实现。  通过DX或者Image相关的API去控制渲染。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    • 已标记为答案 Cadillic 2012年7月30日 2:11
    2012年7月26日 5:51
    版主
  • 感谢BobBAO,追问一个问题:

    我写了一个包含Image控件的类MyAnimation,里边用Timer来控制Image控件的Source更替。

    但当我将Image添加到Grid的时候控件总是不能第一时间显示

    MyAnimation^ ani = ref new MyAnimation();

    Grid->Children->Append(ani->getImage());

    在创建这个对象的时候我就会启动Begin,但我的Image总是在Timer控制图片显示一个循环后才会出现

    void MyAnimation::Begin()
    {
     animationTimer = ref new DispatcherTimer;
     animationTimer->Tick += ref new Windows::Foundation::EventHandler<Platform::Object^>(this, &MyAnimation::AnimationRun);
     TimeSpan t;
     t.Duration = refreshTime * 10000000;
     animationTimer->Interval = t;
     animationTimer->Start();
    }

    请问是否是我这种形式的动态加载导致的这个问题?可否有好的解决办法?谢谢!

    2012年7月26日 10:15
  • getImage直接返回一个Image控件吗? 那么这个Image->Source有初始值吗?

    显示一个循环后,看上去像是图像第一次没有被加载导致的,你用Decoder解码后每一帧都读取了PixelData,并且通过流设置到BitmapImage上,然后设置到Image->Source?


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年7月30日 8:32
    版主