Flappy bird like LabVIEW game遊戲 (3) - 碰撞判定

閱讀時間約 1 分鐘

Labview並沒有檢測元件overlap的功能,所以每個loop都要檢查所有障礙是否和球碰撞

首先檢查球是否位於障礙物1, 2之間的區域,上下障礙物X軸位置是一致的

如果是再近一步檢查求上緣小於3的位置或下緣小於4的位置

若其中一項成立則判定碰撞結束程式

另外若障礙物4的位置通過球到球的左側,就可以判定通過這一組障礙

raw-image

程式snippet如下,另存後直接拉到BD

raw-image

因為轉換上有一點問題

必須手動把三個reference control改成VI server reference才能正常執行 (如下)

raw-image

 

到這邊事實上有個嚴重的問題:LabVIEW的FP上所有物件其實都是矩形

所以像是範例裡用的圓LED這樣的物件有時判定碰撞了但在FP視覺上是沒碰到的

處理方法有3

第一是不要用圓形的control

第二是重新定義物件的圓形邊界,在另一個Pong遊戲我是這樣處理的

第三是用自訂control,在control上蓋上比control略大的不規則圖案

因為遊戲需要本來就要修改球的外觀,所以選擇方法3

如圖選擇要自訂的control後選edit-->customize control...會開啟一個新視窗

把要貼的圖貼上後另存新的clt檔,之後我們就用這個自定的control

raw-image

圖移到想要的位置之後要記得把圖和control用Lock鎖定,不然是可以分開拉動的

raw-image

 

架構分析

物件移動及控制

碰撞判定

物件配置&程式

 

 

    avatar-img
    6會員
    63內容數
    ktest
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
    Thumbnail
    隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
    Thumbnail
    這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
    Thumbnail
    這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
    介紹以物件導向的方式,以向量來實作物體運動的模擬程式。
    Thumbnail
    ThreeJS ArcballControl呼叫update方法後,視角被翻轉問題的解決記錄
    Thumbnail
    測試桌遊時,難免可能會找不到對象一起幫忙測試你的桌遊,或是你的桌遊在找人測試前,需要經過你先做最基本的確認。這時候該麼辦?我認為:求人不如求己,學會幫自己測試桌遊,你設計的成本將大大降低。 在此我提出一個我構思的方法:角色扮演決鬥。如果這個方法運用得當,自己找自己玩市面上的桌遊也不成問
    上週的作業保齡球規則 Student A 角色:玩家1、玩具球、娃娃A、娃娃B、娃娃C 規則:打擊娃娃,要贏得遊戲需要使用玩具球打擊到娃娃,共有三次機會可以打擊,全部娃娃都有被打擊到就能贏得勝利,如三次機會中只打擊到其中一隻/兩隻娃娃,另外沒被打擊到的娃娃會消失,遊戲立即結束! Studen
    Thumbnail
    這是一款考驗眼力的與反應力的卡牌遊戲,每張卡牌都有數種圖案,然後兩張卡片中一定會有一個圖案相同,這款遊戲的目的就是要找到卡牌中相同的圖案是哪一個,市面上有許多類似的桌遊。 就像下面範例兩張一組的卡片中,找出相同的圖案 第一組:閃電 第二組:貓咪 第三組:烏龜 看這個範例感覺很簡單,其實
    Thumbnail
    隨機不重疊的圓形 | p5.js 變化版,dist() 除了用來判斷兩個圓是否重疊,也可以拿來判斷滑鼠在哪個圓內。
    Thumbnail
    建立幾個變數如下,最上面兩個變數值為清單值 接下來分別設定球1位置到左上角落、設定球2位置到右上角落、設定球3位置到左下角落、設定球4位置到右下角落 當螢幕初始化的時候,設定玩家球的X、Y座標和大小,並將玩家球的初始顏色,設定成(變數_顏色清單)中.....
    Thumbnail
    曾經對一個數學不好,但是喜歡玩電玩的親友小孩說,你現在討厭的正數,負數的代數計算,就是電玩裡頭的人物,可以左右上下移動,發射子彈,跳躍的基礎。 我舉微軟c語言寫遊戲的例子,(+,0)是向右,(-,0)是向左,(0,+)是向上,(0,-)是向下,(0,+)是向上,而跳躍旋轉則是三角函
    Thumbnail
    徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
    Thumbnail
    隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
    Thumbnail
    這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
    Thumbnail
    這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
    介紹以物件導向的方式,以向量來實作物體運動的模擬程式。
    Thumbnail
    ThreeJS ArcballControl呼叫update方法後,視角被翻轉問題的解決記錄
    Thumbnail
    測試桌遊時,難免可能會找不到對象一起幫忙測試你的桌遊,或是你的桌遊在找人測試前,需要經過你先做最基本的確認。這時候該麼辦?我認為:求人不如求己,學會幫自己測試桌遊,你設計的成本將大大降低。 在此我提出一個我構思的方法:角色扮演決鬥。如果這個方法運用得當,自己找自己玩市面上的桌遊也不成問
    上週的作業保齡球規則 Student A 角色:玩家1、玩具球、娃娃A、娃娃B、娃娃C 規則:打擊娃娃,要贏得遊戲需要使用玩具球打擊到娃娃,共有三次機會可以打擊,全部娃娃都有被打擊到就能贏得勝利,如三次機會中只打擊到其中一隻/兩隻娃娃,另外沒被打擊到的娃娃會消失,遊戲立即結束! Studen
    Thumbnail
    這是一款考驗眼力的與反應力的卡牌遊戲,每張卡牌都有數種圖案,然後兩張卡片中一定會有一個圖案相同,這款遊戲的目的就是要找到卡牌中相同的圖案是哪一個,市面上有許多類似的桌遊。 就像下面範例兩張一組的卡片中,找出相同的圖案 第一組:閃電 第二組:貓咪 第三組:烏龜 看這個範例感覺很簡單,其實
    Thumbnail
    隨機不重疊的圓形 | p5.js 變化版,dist() 除了用來判斷兩個圓是否重疊,也可以拿來判斷滑鼠在哪個圓內。
    Thumbnail
    建立幾個變數如下,最上面兩個變數值為清單值 接下來分別設定球1位置到左上角落、設定球2位置到右上角落、設定球3位置到左下角落、設定球4位置到右下角落 當螢幕初始化的時候,設定玩家球的X、Y座標和大小,並將玩家球的初始顏色,設定成(變數_顏色清單)中.....
    Thumbnail
    曾經對一個數學不好,但是喜歡玩電玩的親友小孩說,你現在討厭的正數,負數的代數計算,就是電玩裡頭的人物,可以左右上下移動,發射子彈,跳躍的基礎。 我舉微軟c語言寫遊戲的例子,(+,0)是向右,(-,0)是向左,(0,+)是向上,(0,-)是向下,(0,+)是向上,而跳躍旋轉則是三角函