0
我想要獲得一個簡單的交互式加農炮,它可以在跟隨鼠標的180度弧線中移動。然後,我希望它每次在屏幕上的任何地方點擊都可以拍攝炮彈。HTML5 canvas/jquery mousemove + mouseclick event
我使用HTML5畫布和/或jQuery來完成這項工作,到目前爲止我認爲我應該使用mousemove事件,但我確定這是最簡單的方法。但是,另一方面,我可以讓我的大炮不斷旋轉,並設置一個將炮點指向一組點的功能,然後每次移動鼠標時調用該功能。這是一個令人毛骨悚然的想法,但我不知道如何。
到目前爲止,我把我的帆布大炮如下所示:http://jsfiddle.net/An3D8/1/
<canvas id="myCanvas" width="800" height="500"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x = canvas.width/2;
var y = canvas.height/1;
var radius = 50;
var startAngle = 1 * Math.PI;
var endAngle = 2 * Math.PI;
var counterClockwise = false;
context.beginPath();
context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
context.lineWidth = 15;
// line color
context.strokeStyle = 'black';
context.stroke();
</script>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.beginPath();
context.rect(390, 400, 20, 70);
context.fillStyle = 'grey';
context.fill();
context.lineWidth = 7;
context.strokeStyle = 'black';
context.stroke();
</script>
什麼會去了解都要得到大炮跟着我的鼠標,然後射擊炮彈最簡單的方法?
您需要計算佳能中心與鼠標位置之間的角度。 http://stackoverflow.com/questions/7829010/find-angle-between-two-points-respective-to-horizontal-axis – NoGray