2013-08-07 2 views
1

Я новичок в corona/lua, и я не могу найти решение этой вещи. Я пытаюсь создать объект, который падает сверху вниз и должен остановиться в нижней части экрана. Тогда я буду создавать сенсорное событие и т.д. и т.п. ..попытка индексировать глобальную «физику» (значение nil)

но сейчас проблема в том, что я получаю эту ошибку:

попытку индекса глобальную «физику» (нилъ значения)

и объекты ofc не падает.

вот мой код:

----------------------------------------------------------------------------------------- 
-- 
-- main.lua 
-- 
----------------------------------------------------------------------------------------- 

local buttonY = display.contentWidth * 0.02 
local buttonWidth = display.contentWidth * 0.1 
local buttonHeight = display.contentWidth * 0.1 

background = display.newImage("graphics/background.jpg") 

local localGroup = display.newGroup() 
local spawnTable = {} 

function spawnLattina(params) 
    local object = display.newImage(params.image, params.buttonX,50); 
    object.objTable = params.objTable; 
    object.index = #object.objTable+1; 
    object.name = "object:".. object.index; 


    --fisica 
    if params.hasBody then 

     object.density = params.density or 0; 
     object.friction = params.friction or 0; 
     object.bounce = params.bounce or 0; 
     object.isSensor = params.isSensor or false; 
     object.bodyType = params.bodyType or "dynamic"; 
     print(object.density .. " Friction: ".. object.friction .."bodyType: "..object.bodyType) 

     physics.addBody(object, object.bodyType, 
       {density = object.density, 
       friction = object.friction, 
       bounce = object.bounce} 
     ) 
    end 

    object.group = params.group or nil 
    object.group:insert(object) 
    object.objTable[object.index] = object 


    return object 
end 

for i = 1, 2 do 
    local spawns = spawnLattina(
     { 
      image = "graphics/lattina.png", 
      objTable = spawnTable, 
      buttonX = math.random(50,480), 
      hasBody = true, 
      density = 0, 
      friction = 12, 
      bodyType = "static", 
      group = localGroup, 
     } 
    ) 
end 

ответ

2

Вы не начали physics engine. Напишите следующие строки в верхней части класса:

local physics = require "physics" 
physics.start() 

Keep Coding .................. :)

+0

Большое спасибо чувак! :) я буду –

Смежные вопросы