SSK2: transition.color produces an upvalue error when using the example in RGDocs.

Version of SSK you are using: 2017.005 and 2017.006 PRO

Version of Corona SDK you are using: Version 2017.3022 (2017.1.11)

OS you are developing under. OSX Version 10.12.2

Where you are encountering the issue: During build

Error Message(s): 

ERROR: Runtime error /Users/Graham/Downloads/Source Code/MacAir Source/demo/ssk2/extensions/transition.lua:90: attempt to call upvalue 'onComplete' (a table value)

When using the example located at https://roaminggamer.github.io/RGDocs/pages/SSK2/extensions/ for transition.color 

require "ssk2.loadSSK" -- Added by me as its required. \_G.ssk.init() -- Added by me as its required. local tmp = ssk.display.newCircle( nil, centerX, centerY, { radius = 30, fill = \_R\_ } ) function tmp.onComplete( self )    print("Done transitioning color.") end transition.color( tmp, { fromColor = \_R\_, toColor = \_G\_, time = 1000,                           transition = easing.outCirc, onComplete = tmp } )

It might be an easy fix, I’m used to being able to generally copy/paste from the docs for a working sample :slight_smile:

This produces the upvalue error. 

Found the problem.

The code (mine) should handle both cases:

  • onComplete is a function
  • onComplete is a reference to an object with an onComplete method.

I will release a fix for this in SSK2 2017.007.

Meanwhile, you can get past this in one of two ways:

  1. Call it like this:

    transition.color( tmp, { fromColor = _R_, toColor = _G_, time = 1000, transition = easing.outCirc, onComplete = tmp.onComplete } )

-OR-

  1. Modify ssk2/extensions/transtion.lua starting on line 35 to look like this:

    local onComplete = params.onComplete – Handle case where reference to obj is passed with – ‘onComplete’ method attached if( onComplete and type(onComplete) == “table” ) then onComplete = onComplete.onComplete end local fcolor = table.shallowCopy( fromColor )

Thank you Ed, I’ll wait on the fix, was just working through some concepts so I’ll come back to it then :slight_smile:

Post has been marked as resolved.

Found the problem.

The code (mine) should handle both cases:

  • onComplete is a function
  • onComplete is a reference to an object with an onComplete method.

I will release a fix for this in SSK2 2017.007.

Meanwhile, you can get past this in one of two ways:

  1. Call it like this:

    transition.color( tmp, { fromColor = _R_, toColor = _G_, time = 1000, transition = easing.outCirc, onComplete = tmp.onComplete } )

-OR-

  1. Modify ssk2/extensions/transtion.lua starting on line 35 to look like this:

    local onComplete = params.onComplete – Handle case where reference to obj is passed with – ‘onComplete’ method attached if( onComplete and type(onComplete) == “table” ) then onComplete = onComplete.onComplete end local fcolor = table.shallowCopy( fromColor )

Thank you Ed, I’ll wait on the fix, was just working through some concepts so I’ll come back to it then :slight_smile:

Post has been marked as resolved.