Log In  


can someone tell me why I am getting nil when printing out the stars px and py values?

local stars={}
for i=0, 16 do add(stars,{x=rnd(128),y=rnd(128),px=x,py=y,c=7}) end --px and py are equal to x and y

drwmenu=function()
	if btn(2) then menuind-=1 end
	if btn(3) then menuind+=1 end
	menuind=mid(0,4)

	for v in all(stars) do
	print(v.px) --prints nil 
	print(v.py) --prints nil
		line(v.x,v.y,v.px,v.py,v.c)
		--line(v.x,v.y-128,v.px,v.py,v.c)
		--v.py=v.y

		--v.y+=8
		if v.y > 127 then v.y-=128 end
	end
	if (time()-last > 1) then
		rectfill(0,112,127,120,1)
		print("press start!",0,114,7)
		if (time()-last > 2) then last=time() end
	end
end


Because when you create your stars you're assigning them using x and y variables that don't exist. You'll need to create some local variables and use those to assign the values.

for i=0, 16 do
 local x,y=rnd(128),rnd(128)
 add(stars,{x=x,y=y,px=x,py=y,c=7})
end

oh i forgot that i need to access the table first



[Please log in to post a comment]