编辑代码

class Polygons : Shape (
//1多边形主要是通过多个顶点相互连接来给图
//顶点数组
var points : Array<cgpoint>?
init(name: String, origin: cGpoint, points : Array<cgpoint> ){
super.init(name: name, origin: origin) 
self.points mpoints}
convenience init(points : Array<cGPoint> ) (
if points.count- 3(
selfinit(name:"Triangel", origin: points.first!, points:
points)

else if points.count >= 3 {
nter: center, self.init(name: "Polygons", origin: points.first!, points: points) 
else {
let origin = CGPoint(x: 0, y: 0)
self.init(name: "Error", origin: origin, points: points)}
y), center: 
// 重载 drawBezierPath 方法
override func drawBezierPath(){
//向控制台输出信息
print("Draw \(name!)")
//如果不能识别,直接返回 
if(name -- "Error") {
return
//建立一个 UIBezierPath 实例对象 
let path = UIBezierPath()
// 调用实例 path 的 move 方法移动 
path.move(to: origin!) for each in points! {
// 调用实例 path 的 addLine 方法画线 
path.addLine(to: each)}
path.close()
//设置实例 path 的线条宽度
path.linewidth = linewidth!
//设置实例 path的线条颜色 
lineColor?.setStroke()
//画出线条
path.stroke() path.fill()