Как порождать объекты в короне SDK

Эй, я новичок в мире Corona SDK, я хочу узнать, как создавать некоторые объекты и заставлять их перемещаться по экрану, я пробую все, и это никогда не работает, я читаю форум о том, как порождать правильный путь, и пробую его, но все равно получаю ошибка в моем коде справки это мой код

 local  mRandom = math.random 
 local   mAbs = math.abs 
 local   objects = {"rocket02" ,"rocket01","coin01"}

 local   function spawnObject() 
   local objIdx = mRandom(#objects)
   local objName = objects[objIdx]
   local object  = display.newImage("image/object_"..objName..".png")
   object.x = mRandom (screenLeft +30,screenRight-30)
   object.y = screenTop

   if objIdx < 4 then 
      object.type = "food"
   else 
      object.type = "other" 
   end 
 end

Также может кто-нибудь сказать мне, как заставить его двигаться по экрану

Пожалуйста, помогите Спасибо

вот медиа-файл для вас, чтобы взглянуть на

1 ответ

Решение

Я покажу вам метод. Для этого я переписал ваш код следующим образом:

local  mRandom = math.random
local   objects = {"rocket02" ,"rocket01","coin01"}
local objectTag = 0
local object = {}

local   function spawnObject()
    objectTag = objectTag + 1
    local objIdx = mRandom(#objects)
    local objName = objects[objIdx]
    object[objectTag]  = display.newImage(objName..".png")  -- see the difference here
    object[objectTag].x = 30+mRandom(320)
    object[objectTag].y = 200
    object[objectTag].name = objectTag
    print(objectTag)
end
timer.performWithDelay(1,spawnObject,3)

Здесь я использовал timer для отображения объекта. Вы также можете использовать для цикла для той же цели. Здесь вы можете назвать любой объект с тегом как object[objectTag],

Довожу до вашего сведения:

display.newImage(objName..".png") 
    --[[ will display object named rocket02.png or rocket01.png or coin01.png
        placed in the same folder where your main.lua resides --]]

А также

display.newImage("image/object_"..objName..".png")
    --[[ will display object named object_rocket02.png or object_rocket01.png 
         or object_coin01.png placed in a folder named 'image'. And the folder
         'image' should reside in the same folder where your main.lua is. --]]

А для перемещения вашего объекта сверху вниз вы можете использовать:

или

 function moveDown()
     object[objectTag].y = object[objectTag].y + 10  
     --replace 'objectTag' in above line with desired number (ir., 1 or 2 or 3)
 end
 timer.performWithDelay(100,moveDown,-1)

или же

 transition.to(object[objectTag],{time=1000,y=480})
 --[[ replace 'objectTag' in above line with desired number (ir., 1 or 2 or 3)
 eg: transition.to(object[1],{time=1000,y=480}) --]]

Продолжайте кодировать..............:)

Другие вопросы по тегам