• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5 canvas实现跟随鼠标旋转的箭头_html5教程技巧

html5 canvas实现跟随鼠标旋转的箭头_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html5,canvas,箭头旋转,鼠标跟随等相关知识,匿名希望在学习及工作中可以帮助到您
本文实例为大家分享了

  1. >
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <title>canvas实现跟随鼠标旋转的箭头title>
  7. <style>
  8. *{padding: 0;margin: 0}
  9. style>
  10. head>
  11. <body>
  12. <canvas width="500" height="500" style="border: 1px solid #555; display: block;margin: 0 auto;">canvas>
  13. <script>
  14. var arrow=function () {
  15. this.x=0;
  16. this.y=0;
  17. this.color="#f90"
  18. this.rolation=0;
  19. }
  20. var canvas=document.querySelector('canvas')
  21. var ctx=canvas.getContext('2d');
  22. arrow.prototype.draw=function (ctx) {
  23. ctx.save();
  24. ctx.translate(this.x,this.y);
  25. ctx.rotate(this.rolation)
  26. ctx.fillStyle=this.color;
  27. ctx.beginPath();
  28. ctx.moveTo(0, 15);
  29. ctx.lineTo(-50, 15);
  30. ctx.lineTo(-50, -15);
  31. ctx.lineTo(0,-15);
  32. ctx.lineTo(0,-35);
  33. ctx.lineTo(50,0);
  34. ctx.lineTo(0,35);
  35. ctx.closePath()
  36. ctx.fill();
  37. ctx.restore();
  38. }
  39. var Arrow=new arrow();
  40. Arrow.x=canvas.width/2;
  41. Arrow.y=canvas.height/2;
  42. var c_x,c_y; //相对于canvas坐标的位置;
  43. var isMouseDown=false;
  44. Arrow.draw(ctx)
  45. canvas.addEventListener('mousedown',function(e) {
  46. isMouseDown=true;
  47. },false)
  48. canvas.addEventListener('mousemove',function(e) {
  49. if(isMouseDown==true){
  50. c_x=getPos(e).x-canvas.offsetLeft;
  51. c_y=getPos(e).y-canvas.offsetTop;
  52. //setInterval(drawFram,1000/60)
  53. requestAnimationFrame(drawFram)
  54. }
  55. },false)
  56. canvas.addEventListener('mouseup',function(e) {
  57. isMouseDown=false;
  58. },false)
  59. function drawFram(){
  60. var dx=c_x-Arrow.x;
  61. var dy=c_y-Arrow.y;
  62. Arrow.rolation=

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03利用 HTML5 实现带有进度条的文件上传功能
  • 2018-12-03用HTML5实现鼠标滚轮事件放大缩小图片的功能_html5教程技巧
  • 2018-12-03canvas像素点操作之视频绿幕抠图
  • 2018-12-03对HTML5中表单新增属性的分析
  • 2017-08-06HTML5中微数据概述及在搜索引擎中的使用举例
  • 2018-12-03基于Babylonjs自制WebGL3D模型编辑器
  • 2018-12-03基于 HTML5 的 3D 网络拓扑树呈现图文代码详解
  • 2018-12-03angular的$watch方法详解
  • 2018-12-03圆弧和扇形的加载动画该怎么写?
  • 2018-12-03HTML5游戏开发开源库件lufylegend1.4.1发布

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5移动前端webapp有什么推荐的书籍或者建议?
    • 【HTML5】3D模型--百行代码实现旋转立体魔方实例
    • 如何让HTML5实现移动端复制功能
    • 大神看下,选择免费的linux培训还是自学java或者参加java培训班呢?
    • HTML5中drawImage用法分析
    • 有没有类似开心推一样的H5游戏广告定制的平台?
    • HTML5主要新增标签的使用代码分享
    • HTML5相对于Android原生或者iOS原生开发,有哪些优劣,发展前景如何?
    • HTML5 会不会成为移动互联网的未来趋势,取代 App?
    • html5文字阴影效果text-shadow使用示例_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有