I am trying to scroll move clouds across the screen. I keep an array of their positions and keep shifting it. When a cloud goes off the screen I remove it from the array and add it to the end of the array as a new cloud. However, my code is very jerky and glitchy. Could someone help me figure out why?
displayMode(FULLSCREEN)
supportedOrientations(PORTRAIT_ANY)
function setup()
clouds = {}
cloudsx = {}
cloudsy = {}
end
function draw()
background(160, 79, 79, 255)
drawclouds()
end
function drawclouds()
if clouds[1]==nil then
--Generate Clouds
for i=0,30 do
c = math.random(0,2)
x = WIDTH*1.1
--Which Cloud
clouds[i]=c
--X position
cloudsx[i]=x-200*i
--y position
cloudsy[i]=math.random(HEIGHT/1.65,HEIGHT/1.5)
end
end
--draw clouds
scale(1.35)
print(cloudsx[1])
for i=1,8 do
--scroll cloud
cloudsx[i]=cloudsx[i]-6
--display different types of clouds
if (clouds[i]==0)then
sprite("Platformer Art:Cloud 1",cloudsx[i],cloudsy[i])
end
if (clouds[i]==1)then
sprite("Platformer Art:Cloud 2",cloudsx[i],cloudsy[i])
end
if (clouds[i]==2)then
sprite("Platformer Art:Cloud 3",cloudsx[i],cloudsy[i])
end
--find greatest x coordinate if a cloud
gr=0
for i=1,8 do
if(cloudsx[i]>gr)then
gr=cloudsx[i]
end
end
--if a cloud is off the screen the make it follow the farers cloud to the rigt
if(cloudsx[i]<-400 )then
cloudsx[i]=gr+200
end
end
scale(1/1.5)
end