我想在同一个屏幕上随机显示三种不同类型的对象,所有对象都是随机创建的,但它们并不是分散的,有时会相互重叠,我希望这些随机对象远离彼此,并且必须互不重叠....请提出任何建议......谢谢
--first object to be displayed 5 times randomly on screen
math.randomseed(os.time())
for i=1, 5 do
local mrandom=math.random
local locx=mrandom(100,700)
local locy=mrandom(100,1140)
local obj1[i]=display.newImageRect('obj1.png',50,50)
obj1[i].x=locx
obj1[i].y=locy
--second object to be displayed 5 times randomly on screen
math.randomseed(os.time())
for i=1, 5 do
local mrandom=math.random
local locx2=mrandom(100,700)
local locy2=mrandom(100,1140)
local obj2[i]=display.newImageRect('obj2.png',50,50)
obj2[i].x=locx2
obj2[i].y=locy2
--third object to be displayed five times
math.randomseed(os.time())
for i=1, 5 do
local mrandom=math.random
local locx3=mrandom(100,700)
local locy3=mrandom(100,1140)
local obj3[i]=display.newImageRect('obj3.png',50,50)
obj3[i].x=locx3
obj3[i].y=locy3
答案 0 :(得分:0)
听起来需要检测物理碰撞:
http://www.coronalabs.com/blog/2013/07/23/tutorial-non-physics-collision-detection/
一旦生成对象,基本上在for循环中,尝试将其放在随机x,y然后循环遍历其他对象的表,看看新对象是否与之前的对象发生冲突。如果是这样,请重新生成x和y并重试。