2014-01-29 75 views
0

我玩弄帆布,發現了一個我不明白的問題,當使用翻譯方法。翻譯圖不移動到0位置頂部和左邊

在這個小提琴http://jsfiddle.net/claireC/ZJdus/4/中,我希望繪圖移動並反彈四個牆壁中的每一個,但繪圖不會移動到左牆或頂牆。這是我用於移動繪圖的代碼。這適用於我已經完成的其他圖紙,但對於變換方法不起作用。

if(dx < 0 || dx > 150) vx = -vx; 
if(dy < 0 || dy > 240) vy = -vy; 

這是什麼關於翻譯方法爲什麼這段代碼不起作用?

+0

我想你忘了實際的小提琴鏈接 – K3N

+0

我做到了,對不起。這裏是http://jsfiddle.net/claireC/ZJdus/4/ – user2856111

回答

1

繪圖本身,與翻譯相關的繪圖本身不會比距離邊緣183個像素更近。

你需要彌補這個位置爲好,例如:

if(dx < -183 || dx > 150) vx = -vx; 
if(dy < -87 || dy > 240) vy = -vy; 

enter image description here

產地是你翻譯一下,圖紙繪製183,87 相對原點。

Modified fiddle here

或者改變描繪位置,使您的繪圖中的原點[0,0]開始。

+0

我明白了!我認爲繪圖的起源默認從0,0開始。你的解釋更有意義。謝謝。 – user2856111

相關問題