enemy=object:extend()

function enemy:new(x,y,sounds,hp)
self.x=x
self.y=y
self.dx=0
self.dy=-1
self.hp=hp or 10
self.sounds=sounds;
sounds.loop:setPosition(x,y,0)
for k,v in pairs(sounds) do
if v:typeOf("Source") then
v:setAttenuationDistances(110,game.field.height)
end
end
self.lastMoveTick=0
self.rate=game.currentTrack.info.beatDivisions
end -- new

function enemy:update(dt)
if game.ticker.ticks-self.lastMoveTick>=self.rate then
self:move()
end -- rate
end -- update

function enemy:move()
self.lastMoveTick=game.ticker.ticks
self.x=self.x+self.dx
self.y=self.y+self.dy
utils.setSourcePosition(self.sounds.loop, self.x,self.y)
if(self.y<=0) then self:land() end
end

function enemy:land()
tts.say("landed")
for k,v in pairs(self.sounds) do
if v:typeOf("Source") then
if v:isLooping() then v:stop() end
end
end -- stop all loops
self.destroy=true
end -- land