線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1506
推到 Plurk!
推到 Facebook!

[推薦] 2D矩形碰撞演算法

 
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-16 09:00:31 IP:61.218.xxx.xxx 未訂閱
範例一. 資料來源:精彩C++ BUILDER程式設計一書    void check_side() {     int x;     x=psides[1] - (p_locy -p_radius);    //檢查是否飛到上邊線     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     if (x>=0)        {         p_locy=p_locy + x;         p_y= -p_y;        }         x=p_sides[0] - (p_locx -p_radius);//檢查是否飛到左邊線         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^             if (x>=0){            p_locx=p_locx + x;            p_x= -p_x;          }          x=(p_lock + p_radius) - p_sides[2];//檢查是否飛到右邊線          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         if(x>=0) {           p_locx=p_locx - x;           p_x= -p_x;         } }    範例二.    作者:冷眼    資料來源: http://programmer.eforum2000.net/pc2020v5/forum/ShowSameTitle.asp?board_pc2020=cb&index=9&id=3496&mode=&type_pc2020=sametitleLevel-2#    bool    checkRect(Point v,LPRECT rect) {           if( v.x > rect->left && v.x < rect->right &&               v.y > rect->top && v.y < rect->bottom)                 rectuen ture;            return false; }   將球的rect 四點代入          (center->x-r,center->y-r)        (center->x-r,center->y+r)        (center->x+r,center->y-r)        (center->x+r,center->y+r)    就可得知是否碰撞結果......    時間就是金錢 << 發問前請先找找舊文章 >>
系統時間:2024-03-29 5:24:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!