物體之間如何判斷是否是碰撞要根據(jù)具體的形狀來定冕广。在的小游戲中嗤攻,物體形狀一般可以設(shè)定為矩形區(qū)域這類規(guī)則圖形。它的碰撞檢測可以通過java API中的Rectangle類來實(shí)現(xiàn)碰撞的檢測。
規(guī)則圖形碰撞檢測(Rectangle)
? ? 首先我們查看API關(guān)于Rectangle類的介紹:它就是指定坐標(biāo)空間的一個區(qū)域臣淤,這個區(qū)域是通過指定左上角x嗦锐、y坐標(biāo)和去高度和寬度來確定的嫌松。
接下來看起具體的方法:public Rectangle intersection(Rectangle r),這個方法就是碰撞檢測的關(guān)鍵奕污,如果兩個Rectangle對象有交集萎羔,那么他們就有碰撞了。而每個形狀我們都可以得到他們的Rectangle對象碳默,這樣圖形的碰撞檢測也就得以實(shí)現(xiàn)了贾陷。
采用此種方法進(jìn)行碰撞檢測需要注意,對于圖片的實(shí)現(xiàn)處理應(yīng)該盡量的去掉圖標(biāo)邊角的空白嘱根,不然實(shí)際效果可以產(chǎn)生肉眼可辨的誤差髓废。也就是說Rectangle盡量的包住圖形且Rectangle的區(qū)域盡量小。