手记

从五子棋实战教程解析一个自定义大体步骤

单从自定义View的角度讲,简单的两人对战的五子棋,实际上就是一个View,有一些横竖垂直相交的线,以及获得触摸的位置,判定应该在哪个线的焦点绘制一个棋子。
棋盘是没有交互的,也就是不会刷新的,最终目的是在onDraw的时候绘制一些线。用到的画笔,自然是开始准备好的,和现实绘画一样,也就是定义用什么颜色,抗锯齿,多宽,什么样式之类的,自己选。首先我们应该确定在哪画,所以onMeasure时要测量出棋盘的宽高,然后在这个范围内画多少条线,怎么画,这就要计算,一般在onSizeChanged里面处理。计算好怎么画了以后,就开始画棋盘了,在onDraw的时候把一条条线画上去就行了。
棋盘画好了,剩下就是棋子了。棋子是点击某个地方,判断点击位置是对应棋盘上的哪个点然后在这个点绘制出棋子就ok了。当然,细节是要获得,棋子的Bitmap,判断什么时候该画哪个棋子,画在什么位置。首先,绘制是由触摸事件触发的,获取触摸事件处理,判断位置,判断画哪个棋子的Bitmap,基本上关于View的就这么多。至于判断输赢结果,就属于具体的业务逻辑了。
1人推荐
随时随地看视频
慕课网APP