function setup()
B={}
S={}
ballFrequency=3
squareFrequency=1
dropBall()
dropSquare()
timer=0
timer1=0
x1=CurrentTouch.x
y1=CurrentTouch.y
end
function dropBall()
b={}
b.x=math.random(50,WIDTH-50)
b.y=HEIGHT+250
b.r=55
b.s=math.random(200,400)
b.c=color(math.random(100,255),math.random(100,255),math.random(100,200),255)
table.insert(B,b)
end
function dropSquare()
s={}
s.x=math.random(50,WIDTH-50)
s.y=HEIGHT+500
s.w=40
s.h=40
s.s=math.random(100,200)
s.c=color(math.random(100,255),math.random(100,255),math.random(100,255),255)
table.insert(S,s)
end
function draw()
background(137, 134, 130, 255)
timer=timer+DeltaTime
timer1=timer1+DeltaTime
if timer1>2/squareFrequency then
dropSquare() timer1=0 end
for i,s in pairs(S) do
s.y=s.y-s.s/65
if s.y<-50 then table.remove(S,i) end
fill(s.c)
rect(s.x,s.y,s.w,s.h)
end
if timer>1/ballFrequency then
dropBall() timer=0 end
for i,b in pairs(B) do
b.y=b.y-6
if b.y<-50 then table.remove(B,i) end
fill(b.c)
ellipse(b.x,b.y,b.r)
end
if CurrentTouch.x >= b.x
and CurrentTouch.x <= b.x+b.r -- i cant seem to get collision for the y axis
then table.remove(B,i) end
end
@WillAMParks You’re comparing CurrentTouch.x to b.x, which appears to be the value of the last ball created. You need to compare CurrentTouch to the x,y values in the table B.
@WillAMParks You’re creating tables that hold the square and ball objects. You use those tables when you draw those objects and subtract a value from their y values to move them down the screen. You should also use those tables to check if you touch one of those objects. Create a table loop like when you’re drawing them and then in that loop compare the CurrentTouch x,y values to each table x,y values plus or minus the size of those objects. If the touch is close to the object, then delete that object from the table. If you still need help, let me know.
It works! Thank you for the help I really appreciate it