一、如何判斷點(diǎn)擊的是哪個(gè)方向鍵按鈕
在上篇教程中我們實(shí)現(xiàn)了左邊的三角形按鈕效果,本篇教程我們將左、上、右、下四個(gè)三角形按鈕都一起實(shí)現(xiàn)了。
能做出一個(gè)來,另外三個(gè)應(yīng)該不難了吧?但實(shí)際并非怎么簡(jiǎn)單哦。
首先我們來解決一下上節(jié)課遺留的一個(gè)問題,如何判斷當(dāng)前手指點(diǎn)擊的是哪個(gè)三角形按鈕?
這個(gè)需要用解析幾何大法來解決。
假設(shè)我們的控件是邊長(zhǎng)為1的正方形,建立平面直角坐標(biāo)系(注意:計(jì)算機(jī)中坐標(biāo)系原點(diǎn)在左上角哦),如下圖:
正方形的對(duì)角線將控件分成了4個(gè)三角形區(qū)域,也就是我們的4個(gè)方向鍵按鈕。
據(jù)上圖可知:
左上角到右下角對(duì)角線的方程為y=x;
y>x的區(qū)域包含左和下三角形
y<x的區(qū)域包含右和上三角形
右上角到左下角的對(duì)角線方程為y=-x+1;
y>1-x的區(qū)域包含右和下三角形
y<1-x的區(qū)域包含左和上三角形
綜上可得:
y>x 且 y<1-x 表示左三角
y<x 且 y<1-x 表示上三角
y<x 且 y>1-x 表示右三角