贴代码前先吐槽下自己的菜鸡,这个题是昨天出去面试让上机做的题。用cocos creator来做,我因为这个引擎不熟,看到里面竟然原先有项目我直接点进去参考了,事实证明我被误导了,鼓捣了一个多小时没搞出来,我就灰溜溜自己走了(找个理由:做题时间没有限制,但我自己口太渴,当时被误导感觉用着引擎太难)。
现在想想这好像是题比较基础的题,回来理了一下,很快就做出来了。。。。。下面是印象里题目的要求。
1. 根据鼠标拖拽方向旋转陀螺(同方向拖拽多次,旋转速度越快)
2. 当鼠标放开时,陀螺延原本旋转方向做减速运动,直到停止
3. 鼠标只点击一次的情况下,立即停止旋转
这里的核心比较简单(对,没有核心)。设个旋转速度V,鼠标拖拽等等操作都是改变这个V值,然后开个定时器让物体以这个速度旋转就好啦。
设速度的变量为initV,鼠标刚开始点击时获得的坐标为startPos,监听三个鼠标事件(开始,移动,结束),方向由坐标来判断,比如左划是顺时针速度为正值,右滑逆时针速度为负值。因为手头有egret引擎,以egret引擎里为例,贴上代码。
/**
贴上一个做完成品的gif图啦。原谅我没有陀螺的素材,随便找了个球啦。
![027e37bf5d5a986f3d7bba2c69df2240.gif](https://img-blog.csdnimg.cn/img_convert/027e37bf5d5a986f3d7bba2c69df2240.gif)
真菜鸡,给程序员丢脸了,匿了匿了。