I’ve been having problems with code dependency and this setup fires twice. First time it prints nil and the second time it prints "hello"
File: cSpriteTileFloorFlip.lua
cSpriteTileFloorFlip = Core.class(cSpriteTileFloorFlipController)
function cSpriteTileFloorFlip:init()
self.super.init(self, "hello")
end |
File: cSpriteTileFloorFlipController.lua
cSpriteTileFloorFlipController = Core.class(Sprite)
function cSpriteTileFloorFlipController:init(message)
print(message)
end |
File:main.lua
cSpriteTileFloorFlip.new() |
cSpriteTileFloorFlip.lua code dependency has cSpriteTileFloorFlipController checked and it is this that causing nil
When I change
File: cSpriteTileFloorFlip.lua to
cSpriteTileFloorFlip = Core.class(Sprite)
function cSpriteTileFloorFlip:init()
end |
It prints nil
When I remove the code dependency reference the nil goes away
Comments
When you create a class that inherits from another, Gideros automatically calls the superclass init() function before calling the subclass init(), so basically your own call to self.super.init() is redundant.
The subclass should be declared as follow:
Likes: talis