蛇的運(yùn)動(dòng)轉(zhuǎn)向問(wèn)題
感覺(jué)老師的這個(gè)貪吃蛇程序在控制蛇運(yùn)動(dòng)方向存在很大的問(wèn)題,鼠標(biāo)點(diǎn)擊位置是相對(duì)于屏幕正中央的。這樣如果遇到一種情況:蛇往左運(yùn)動(dòng),而且蛇整個(gè)身體在屏幕正中心的左側(cè),當(dāng)用戶(hù)想讓蛇向下轉(zhuǎn)彎時(shí),一般用戶(hù)會(huì)點(diǎn)擊蛇的下方,而這時(shí)如果x坐標(biāo)的絕對(duì)值大于y,并且這時(shí)x是負(fù)的,那么不管怎么點(diǎn)擊下方,蛇會(huì)一直向左移動(dòng),不會(huì)改變方向,這樣游戲體驗(yàn)就很差。個(gè)人感覺(jué)如果用蛇頭作為參考點(diǎn)更好一些,只是感覺(jué)可能消耗的的性能更多。
2017-09-21
實(shí)際使用當(dāng)中,項(xiàng)目上線(xiàn)不可能使用這種操作方式,換成四個(gè)按鈕來(lái)操作更人性話(huà),還不容易出錯(cuò)。這是方案一
其次,你可以絕對(duì)值運(yùn)算取消。直接判斷正負(fù)值加上一個(gè)偏移量,cocos有一個(gè)delta函數(shù)可以獲取。函數(shù)名可能是錯(cuò)的,不太記得清了,查下API。?這是方案二。
在屏幕上算一下就知道了。老師說(shuō)的只是其中一種最簡(jiǎn)單的算法。