1
我有一個可以產生晶體的怪物。我希望每個水晶都繞着怪物運行,但是當有多個水晶時,我希望它們彼此以相等的距離繞行。我一直試圖通過使用兩個已有的代碼塊來實現這個功能,但每個代碼都做了一些不同的事情,我需要一塊代碼來完成這些工作。等距空間軌道物體AS3
此塊只是允許一個對象軌道另一:
orbitRadius = 110;
angle += orbitSpeed;
rad = (angle * (Math.PI/180));
orbitX = monster.x + orbitRadius * Math.cos(rad);
orbitY = monster.y + orbitRadius * Math.sin(rad);
這裏是什麼樣子的視頻: https://www.youtube.com/watch?v=ACclpQBsjPo
基於量的代碼塊排列周圍的怪物晶體晶體有:
radius = 110;
angle = ((Math.PI * 2)/targetArray.length) * targetArray.indexOf(this);
orbitX = monster.x - (radius * Math.cos(angle));
orbitY = monster.y - (radius * Math.sin(angle));
而這裏的這個視頻:https://www.youtube.com/watch?v=TY0mBHc2A8U
我不知道如何均勻地將晶體空間分開和使它們同時在怪物周圍環繞。爲了實現這個目標需要做些什麼?
嗯,我絕對不會這樣做的分層方式。那將是非常糟糕的。 我想這個解決方案不會只是對我的代碼進行小小的調整,而是一種完全不同的方法。我想我會花一些時間試圖弄清楚如何將它轉換成我當前的程序。我從不使用Timer或Point類做任何事情,我假定你的「旋轉」變量不是引用對象的旋轉屬性,而是一個唯一的變量。 –
啊,首先我將它創建爲** Sprite **的子類,所以這個聲明現在不是必需的。固定。另外,我不理解你對選項1的厭惡。這是傳統的Flash做事方式。 – Organis