![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 遠仔 ![]()
![]() |
FLA AS 這題好像有部份類似我先前發問的球問題@@,因為小弟發現偶完全對mouseX,mouseY理解錯誤 所以這題裡有這二個屬性,小弟再拿出來詢問一下,麻煩~~>"< 想請問: //1.mouseX 說明為:當前鼠標相對於顯示物件註冊點的横向距離,想請問這裡的顯示物件註冊點是指spider顯示物件嗎? //2.如果是又為何要再減一次spider.x呢? //3.Math.atan(dy/dx),請看圖片1 //4.條件用dx>0,是因分母不能為0的關係嗎? //因為如果我把#50的dy/dx改成dx/dy,則條件要改為dy>0,但後面也要改成(90-p):(270-p)
本篇文章發表於2012-08-26 22:42
|
1樓 |
1.那是主時間軸的座標,以左上角為0,0,註冊是指spider顯示物件的註冊點是對的,通常註冊點都在左上角或正中間,他的註冊點在蜘蛛的屁股
2.又為何要再減一次spider.x? 因為要計算移動的量 dx,即滑鼠移動到哪,蜘蛛要跟著移動,如以下這行,算出移動量後,再除以speed spider.x += dx/speed; 3.算出角度p後,蜘蛛跟著以下公式旋轉 var rotateAngle:Number = (dx>0) ? (90+p):(270+p); 4.條件用dx>0,是因分母不能為0的關係嗎? 這是不對的,那是在計算蜘蛛是旋轉角度用的,不是因分母不能為0的關係,有移動dx就不會為0
本篇文章回覆於2012-08-30 23:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
遠仔 ![]() |
3.算出角度p後,蜘蛛跟著以下公式旋轉
var rotateAngle:Number = (dx>0) ? (90+p):(270+p); 指說當dx>0度,也就是 dx在Y軸的右邊,位於第一或第四象限,就原角度+90度,否則就原角度+270度(此時dx在第二或第四象限)? 是這樣麼?@@,那我要怎麼知道要+90 或 270 或是 0度 或180度呢?
本篇文章回覆於2012-08-31 17:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
指說當dx>0度,也就是 dx在Y軸的右邊,這是不對的
是說滑鼠移到蜘蛛的右邊 dx<0,是滑鼠移到蜘蛛的左邊 跟象限沒關係
本篇文章回覆於2012-08-31 19:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
遠仔 ![]() |
喔喔,這樣我就理解了~~
帥大再請問~~ 當我用dy>0 & dy<0當條件,怎麼寫都寫不出來哩? 這裡dy>0,滑鼠是移到上方還下方?(因FLASH Y軸相反) 小弟2種都嚐試寫看看,但都寫不出來 >"<
本篇文章回覆於2012-08-31 21:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
最有價值解答
香帥 ![]() |
改dy可以
var rotateAngle:Number = (dy>0) ? (90+p):(270+p); 也依樣可執行 這裡dy>0,滑鼠是移到下方
本篇文章回覆於2012-09-01 00:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
遠仔 ![]() |
怪了,用dy>0都會卡卡的,帥大這正常嗎@@?
本篇文章回覆於2012-09-01 19:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
遠仔 ![]() |
OHOH,我知道了,感謝帥大~~~@@
本篇文章回覆於2012-09-01 19:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |