单从自定义View的角度讲,简单的两人对战的五子棋,实际上就是一个View,有一些横竖垂直相交的线,以及获得触摸的位置,判定应该在哪个线的焦点绘制一个棋子。
棋盘是没有交互的,也就是不会刷新的,最终目的是在onDraw的时候绘制一些线。用到的画笔,自然是开始准备好的,和现实绘画一样,也就是定义用什么颜色,抗锯齿,多宽,什么样式之类的,自己选。首先我们应该确定在哪画,所以onMeasure时要测量出棋盘的宽高,然后在这个范围内画多少条线,怎么画,这就要计算,一般在onSizeChanged里面处理。计算好怎么画了以后,就开始画棋盘了,在onDraw的时候把一条条线画上去就行了。
棋盘画好了,剩下就是棋子了。棋子是点击某个地方,判断点击位置是对应棋盘上的哪个点然后在这个点绘制出棋子就ok了。当然,细节是要获得,棋子的Bitmap,判断什么时候该画哪个棋子,画在什么位置。首先,绘制是由触摸事件触发的,获取触摸事件处理,判断位置,判断画哪个棋子的Bitmap,基本上关于View的就这么多。至于判断输赢结果,就属于具体的业务逻辑了。
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦