我在HTML5畫布工作+ EaseljsEaseljs使用鼠標移動
我想用我的鼠標旋轉在我的應用程序對象旋轉對象。想法如下:單擊一個對象>出現帶有可拖動框的圓形>將該框拖過圓形使對象旋轉。
這是一個與this one相同的問題,但我不知道如何在Easeljs中做到這一點。
爲了說明
現在,您可以通過點擊右上角的按鈕,旋轉的物體(L =左,R =右),但我想這是喜歡這裏:
點擊+拖動白框將使其旋轉
非常感謝幫助!
我在HTML5畫布工作+ EaseljsEaseljs使用鼠標移動
我想用我的鼠標旋轉在我的應用程序對象旋轉對象。想法如下:單擊一個對象>出現帶有可拖動框的圓形>將該框拖過圓形使對象旋轉。
這是一個與this one相同的問題,但我不知道如何在Easeljs中做到這一點。
爲了說明
現在,您可以通過點擊右上角的按鈕,旋轉的物體(L =左,R =右),但我想這是喜歡這裏:
點擊+拖動白框將使其旋轉
非常感謝幫助!
對於mousedown
,mousemove
和mouseup
,您必須將聽衆添加到舞臺上(或者在您的情況下,可能是比賽場形狀)。在this example,我只是聽全球stagemouseup
,stagemousedown
和stagemousemove
事件。我不分配stagemousemove
聽衆,直到stagemousedown
被解僱。我在stagemouseup
被解僱時將其刪除。
對於每個stagemousemove
事件,您需要找到播放器與舞臺鼠標位置之間的角度。
var angleInRadians = Math.atan2(stage.mouseY - shape.y, stage.mouseX - shape.x);
var angleInDegrees = angleInRadians * (180/Math.PI);
然後你只需設置shape.rotation = angleInDegrees
:其中shape
是您的播放器,你可以不這樣做將下面的公式。
我對這個小提琴做了一個快速編輯,使其在開始拖動時不會重置,因此您可以繼續旋轉它:https://jsfiddle.net/lannymcnie/hb8a7ys8/2/ – Lanny