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