Note that there are some explanatory texts on larger screens.

plurals
  1. POLUA and Corona error: Attempt To Call Method ' ' (A Nil Value) - Driving Me Crazy
    primarykey
    data
    text
    <p>I would ask your help for an error that is driving me crazy.</p> <p>Ohh... I'm using LUA with Corona SDK btw...</p> <p>I am creating an instance of a ship. The ship is being instantiated, I can access its properties, but I can not access any method!! Follow the codes, I do not know what to do:</p> <p>spaceShip.lua:</p> <pre><code>require('gameConf') spaceShip = {} spaceShip.__index = spaceShip function spaceShip:New(posX, posY, width, height) local _spaceShip = nil _spaceShip = {} setmetatable(_spaceShip, spaceShip) _spaceShip = display.newRect(posX - width/2, posY - height/2, width, height) _spaceShip:setFillColor(140, 140, 140, 0) _spaceShip.width = width _spaceShip.height = height local shipShape = { -width/2, -height/2, width/2, -height/2, width/2, height/2, -width/2, height/2 } local shipShapeMaterial = { density = 1.0, friction = 1.0, bounce = 0.0 , shape = shipShape} local shipMotor = { -width/2, height/3, width/2, height/3, width/2, height/2, -width/2, height/2 } local shipMotorMaterial = { density = 1.0, friction = 1.0, bounce = 0.0 , shape = shipMotor} physics.addBody( _spaceShip, shipShapeMaterial, shipMotorMaterial ) return _spaceShip end function spaceShip:log() print("ship") end function spaceShip:applyFrontImpulse() local angle = math.rad(self.rotation) local xComp, yComp = math.cos(angle), -math.sin(angle) local forceMag = 2 self:applyLinearImpulse(forceMag * xComp, forceMag * yComp, self.x, self.y) end </code></pre> <p>and part of main.lua</p> <pre><code>require('camera') require('gameConf') require('meteor') require('spaceShip') -- Add Physics local physics = require( "physics" ) physics.start() physics.setDrawMode( "hybrid" ) physics.setGravity( 0, 0 ) -- Load camera local camera = camera:New() -- Containers meteorManager = {} shipManager = {} -- Load Vector class vector = require "vector" -- Create one ship local myShip = nil; myShip = {} myShip = spaceShip:New(600, 200, 30, 60) table.insert(shipManager, myShip) camera:insert(myShip) myShip:log() &lt;----- HERE IS THE ERROR rest of the code... </code></pre> <p>The error in terminal is:</p> <pre><code>2013-03-21 19:18:15.736 Corona Simulator[48347:707] Runtime error: 2013-03-21 19:18:15.737 Corona Simulator[48347:707] ...t/iOS/Deep Space Harvest/Deep Space Harvest/main.lua:28: attempt to call method 'log' (a nil value) stack traceback: [C]: in function 'log' ...t/iOS/Deep Space Harvest/Deep Space Harvest/main.lua:28: in main chunk </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload