본문 바로가기
루아(LUA)/마이크로스튜디오

여러개의 똥이 내려온다 [마이크로 스튜디오#6]

by JK77 2022. 1. 21.

10개의 똥이 각각 생성될 때 자기만의 스피드를 가지고 생성된다.

downPoop = {
  xPos=0,
  ySpeed = 0,
  yPos = 0,
  yHeight = screen.height/2,
  
  new = function(self,o)
    o = o or {}
    setmetatable(o,self)
    self.__index = self
    return o
  end,
  
  update = function(self)
    
    if self.yHeight-self.yPos > -100 then
      self.yPos = self.yPos + self.ySpeed
      print(self.yPos)
    else
      self.yHeight = self.yPos+100
      self.xPos = math.random()*screen.width/2
             -math.random()*screen.width/2
      self.ySpeed = math.random()*2+1
    end
    
  end,
  
  draw = function(self)
    screen:drawSprite("poop",self.xPos,self.yHeight-self.yPos,15,15)  
  end,

}

init = function()
  poop={0,0,0,0,0,0,0,0,0,0,0} -- 똥의 갯수
  for i=1, #poop do
    poop[i] = downPoop:new({ySpeed=math.random()*2+1,
      xPos = math.random()*screen.width/2
             -math.random()*screen.width/2
                          })
  end
end

update = function()

  for i=1, #poop do
    poop[i]:update()
    --poop[i].ySpeed = math.random()*5
    --print("poop".."["..i.."]:"..poop[i].ySpeed)
  end

end

draw = function()
  screen:clear(-1)
  for i=1, #poop do
    poop[i]:draw()
  end
  
end