我有一个简单的问题,但是非常困难和糟糕的解决方案,我需要你的帮助。 我只想在myLine x,y中使用myCircle,但是随着旋转的改变,这很糟糕,所以...
我的对象:
My "obj" is working well..
myLine = display.newRect( obj.x, obj.y , 150, 5 )
myCircle = display.newCircle( myLine.x, myLine.y, 8 )
我得到了每个enterFrame:
myLine.x = obj.x
myLine.y = obj.y
myLine.rotation = obj.rotation
myCircle.x = myLine.x
myCircle.y = myLine.y
它工作得很好..但是,我需要做的,myCircle for runtime - enterFrame,每次线条旋转的变化都会朝着同一个方向移动。如果myCircle是,它工作正常 在obj.x和obj.y ..或myLine.x和myLine.y中。 但是我需要,myCirle就像myLine的一端...... 这样的事情,但更好:
if rotation == 0 then
myCircle.x = myLine.x
myCircle.y = myLine.y - 30
elseif rotation == 90 then
myCircle.x = myLine.x + 30
myCircle.y = myLine.y
end
..
依此类推,我想你明白了。
我所需要的只是得到这个:
*
/
/
*
|
|
...
请求任何帮助。
答案 0 :(得分:0)
我认为你要做的是旋转一条线,但让圆圈留在线的末端。如果这是你想要做的,那么math.sin()和math.cos()就是你所需要的。
myCircle.x = myLine.x + 30 * math.cos(rotation) --30 would be the length of the line.
myCircle.y = myLine.y + 30 * math.sin(rotation)
应该有效,但如果没有,请尝试使用cos代替y而使用sin代替x。