2013-02-11 54 views
0

我的對象正在從右向左移動如何將此對象從上往下更改?更改電暈/ LUA對象的方向

function movebadc1(self,event) 
     if self.x < -50 then 
     self.x =300 
     self.y = 300 
     self.speed = math.random (2,6) 
     self.initY = self.y 
     self.amp = math.random (20,100) 
     self.angle = math.random (1,360) 

     else 
       self.x = self.x - self.speed 
       self.angle = self.angle + .1 
       self.y = self.amp * math.sin(self.angle)+self.initY 
     end 
end 

祺凱文

+1

首先,您使用的是度數而不是弧度。嘗試: self.angle = math.random()* math.pi * 2 以弧度獲得角度。弧度與角度一樣描述一個角度,但不是從0到360,而是從0到2π(〜6.28)。唯一的區別是您可以在三角函數法中使用弧度。 – 2013-02-11 15:52:45

回答

1

從右變到左,到上到下,假如你也想其他的行爲來保持不變,改變了以下三個行:

  self.x = self.x - self.speed 
      self.angle = self.angle + .1 
      self.y = self.amp * math.sin(self.angle)+self.initY 

  self.y = self.y + self.speed 
      self.angle = self.angle + .1 
      self.x = self.amp * math.sin(self.angle)+self.initX 
0

您也可以使用Cos()而不是sin()。它會有希望地工作。