html5 キャンバスは、マウスの回転_html5 チュートリアルのスキルに従う矢印を実装します。
この記事の例は全員と共有されます
- >
- <html>
- <頭>
- <メタ charset="utf- 8" /> " X-ua 互換 "
- コンテンツ = " ie =edge " /// > <title>キャンバスはマウスの回転に従う矢印を実装します < ; / タイトル
- > <スタイル> *{パディング: 0;マージン: 0}
- スタイル>
- 頭>
- <ボディ>
- <キャンバス 幅= "500"
- 身長="500" スタイル="ボーダー: 1px ソリッド #555; 表示: ブロック;マージン: 0 自動;">キャンバス > <スクリプト> var
- arrow=function () {
- this.x=0; this.y
- =0; this.color =
- "#f90" this.rolation =
- 0; }
- var canvas=document.querySelector('canvas')
- var ctx=canvas.getContext('2d');
- arrow.prototype.draw=関数 (ctx) {
- ctx.save();
- ctx.translate(this.x,this.y);
- ctx.rotate(this.rolation)
- ctx.fillStyle=this.color;
- ctx.beginPath();
- ctx.moveTo(0, 15);
- ctx.lineTo(-50, 15);
- ctx.lineTo(-50, -15);
- ctx.lineTo(0,-15);
- ctx.lineTo(0,-35);
- ctx.lineTo(50,0);
- ctx.lineTo(0,35);
- ctx.closePath()
- ctx.fill();
- ctx.restore();
- }
- var Arrow=new arrow();
- Arrow.x=canvas.width/2;
- Arrow.y=canvas.height/2;
- var c_x,c_y; // キャンバス座標の位置;
- var isMouseDown=false;
- Arrow.draw(ctx)
- canvas.addEventListener('mousedown',function(e) {
- isMouseDown=true;
- },false)
- canvas.addEventListener('mousemove',function(e) {
- if(isMouseDown==true){
- c_x=getPos(e).x-canvas.offsetLeft;
- c_y=getPos(e).y-canvas.offsetTop;
- //setInterval(drawFram,1000/60)
- requestAnimationFrame(drawFram)
- }
- },false)
- canvas.addEventListener('mouseup',function(e) {
- isMouseDown=false;
- },false)
- 関数 drawFram(){
- var dx=c_x-Arrow.x;
- var dy=c_y-Arrow.y;
- Arrow.rolation=Math.atan2(dy,dx);
- ctx.clearRect(0,0,canvas.width,canvas.height);
- Arrow.draw(ctx)
- }
- 関数 getPos(e) {
- var マウス={x:0,y:0}
- var ee=e||event;
- if(e.pageX||e.pageY){
- mouse.x=e.pageX;
- mouse.y=e.pageY;
- }else{
- mouse.x=e.pageX document.body.scrollLeft document.document.documentElement.scrollLeft;
- mouse.y=e.pageY document.body.scrollTop document.document.documentElement.scrollTop;
- マウスを返す
- スクリプト>
- ボディ>
- html> デモのアドレス:
- ボディ>
ナンセンスではありません。すぐにデモに進みましょう。この効果を達成するのは複雑ではありませんが、スズメと同じくらい小さく、関係する主な知識ポイントは次のとおりです。 1. キャンバスの基本的な描画;
3. キャンバスでの三角関数の基本的な応用;以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。
原文:
http://www.cnblogs.com/jone-chen/p/5243439.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。
