一 游戏的前景
交互功能:
1.拖拽涂色(在花瓣上按下才可以涂色)
2.在指定的花瓣区域内按下才可以涂色,并且不能涂到其他花瓣区域内
二 游戏的技术点
1.按下鼠标在某一个花瓣内涂色时(就只能在当前区域内涂色),即使移动鼠标到别的区域时,也不会影响到其他区域的颜色
- 要划分要对应的区域
把花瓣的svg 转换成对应的坐标 svg转坐标 - 在egret里用
egret.Shape
根据坐标连线成一个封闭的区域private initGoods():void { const goodsData = new Goods(); // 存放svg坐标的类 goodsData.svgList.forEach((item, index) => { const lineArea = new egret.Shape(); lineArea.touchEnabled = true; lineArea.name = `goods${ index + 1}`; this.getGraph(lineArea, item); this.addChild(lineArea); // 涂色 this.drawLine(lineArea, item); }); } // 连线成为图形 private getGraph(lineArea: egret.Shape, item):void { lineArea.graphics.lineStyle(2, 0x000000); lineArea.graphics.beginFill(Number(this.fillColor)); // 连线规则 item.forEach(element => { switch(element.type) { case "moveTo": lineArea.graphics.moveTo(element.props.x, element.props.y); break; case "lineTo": lineArea.graphics.