1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>計算機論文>多頁動畫技術

    多頁動畫技術

    時間:2023-02-20 22:50:45 計算機論文 我要投稿
    • 相關推薦

    多頁動畫技術

     動畫設計中消除圖像閃爍的一種方法是使用多頁動畫。多頁動畫是通過使用頁切換技術實現的。頁切換改變顯示頁以繪制出給定動畫序列的相鄰幀。由于圖像通常繪制在不同的頁上(不是當前可見頁),用戶不會看到圖像被繪制或擦除。所以,這種技術能產生高質量的動畫而沒有圖像閃爍。進行頁切換的詳細步驟如下。

    1.選擇一種至少有兩個可用顯示頁的視頻模式(示例中為EGA640×200,16色4頁)。

    2.使用-setvideomode()函數獲取選擇的視頻模式。在當前顯示頁(0頁)上繪制出序列中的第一幀。

    3.在需要繪制出序列中下一幀時,使用-setactivepage()函數設置激活頁為備用顯示項,僅僅改變激活頁(不是可見頁)。

    4.繪制出下一幀。此幀將被繪制在備用顯示頁(頁1)上,而當前頁(頁0)繼續被顯示。在以后重復這一步時在繪制新的一幀前擦除掉已有的幀。

    5.繪制出新的一幀以后,使用-setvisualpage()函數將可見頁設置為備用頁。此時,備用頁成為當前頁。

    6.重復步驟3到5直到完成了動畫序列為止。
    以下程序(采用Visual C++)演示了實際的多頁動畫,例子中的動畫序列讀者自行設計。
    #include <conio.h>
    #include <graph.h}
    #include <time.h}
    #define LAST-FRAME 4/* Total frames in the sequence. */
    #define DRAW 1 /* Code for the draw operation. */
    #define DELTA-X 10 /* Pixels moved per frame change. */
    #define HALF-SECOND 500 /* 500 msec delay between frames
    . */
    #define MAX-X 600 /* Max X position before termination.
    */
    #define SETUP-DISPLAY \par
    \par -setvideomode(-HRES16COLOR); \par
    #define EXIT-TO-DOS \par
    \par -setvideomode (-DEFAULTMODE); \par
    /****頁切換和繪制動畫序列****/
    #define PAGE-FLIP(v) \par
    \par if(v==0) v=1; \par
    else v=0; \par
    -setactivepage(v); \par
    -clearscreen(-GCLEARSCREEN); \par
    -settextposition(1,16); \par
    -outtext( \par "Example:
    Multiple Page Animation"); \par
    draw-frame(current-frame,px,py); \par
    -setvisualpage(page); \par
    create-delay(HALF-SECOND); \par
    int px,py; /* Current character position. */
    int page; /* Current page displayed. */
    int current-frame; /* Current frame displayed. */
    main()
    SETUP-DISPLAY
    cycle-frames();
    EXIT-TO-DOS
    cycle-frames()
    current-frame=0;
    px=0;
    py=85;
    page=0;
    while(px<=MAX-X)
    current-frame++;
    if (current-frame>LAST-FRAME)
    current-frame=2;
    PAGE-FLIP(page)
    px=px+DELTA-X;
    current-frame=1;
    PAGE-FLIP(page)
    draw-frame(frame,x,y)
    int frame,x,y;
    switch(frame)
    case 1:
    frame-1(DRAW,x,y);
    break;
    case 2:
    frame-2(DRAW,x,y);
    break;
    case 3:
    frame-3(DRAW,x,y);
    break;
    case 4:
    frame-4(DRAW,x,y);
    break;
    create-delay(td)
    /**同Borland C++中的delay(td)函數**/
    int td;
    time-t ts1,ts2;
    ts2=ts1=clock();
    while(ts1+td>ts2)
    ts2=clock();


    【多頁動畫技術】相關文章:

    ActiveX技術在WEB頁上的應用08-06

    101頁教案08-16

    在Windows中顯示多幅彩色圖像的技術08-06

    g1多技術策略個人總結03-18

    求職簡歷:一頁就夠 兩頁太長08-06

    定格動畫之陶瓷動畫08-18

    簡歷多少頁合適08-15

    多USB接口的局域網接入技術的實現08-06

    多 USB 接口的局域網接入技術的實現08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲欧洲中文日韩AV乱 | 亚洲人成电影在线 | 五码三级级精品国产宾馆 | 中文字幕久久精品一二三区 | 中文字幕免费观看一区 | 日本国产欧美大码A视频 |