Variables inside Functions (Corona Lua)












0















I've searched everywhere for an answer on how to change a variable inside a function. I have tried many different solutions but none have worked so far.



My plan is to change a variable named 'stateRed' inside a function which is run when a button is pressed. When the function is run, the variables will change to 'READY'. I will then use this variable to run a separate chunk of code (the actual game). There are two of these buttons.



My code looks something like this:



function ReadyRed()
stateRed = 'READY'
stateBtnRed = widget.newButton
{
defaultFile = "ready_red.png",
overFile = "unready_red.png",
label = "Ready",
emboss = true,
onPress = unreadyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end

function UnreadyRed()
local stateRed = 'UNREADY'
stateBtnRed = widget.newButton
{
defaultFile = "unready_red.png",
overFile = "ready_red.png",
label = "Unready",
emboss = true,
onPress = readyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end


The code that starts the game looks like this:



if stateRed == 'READY' and stateBlue == 'Ready' then









share|improve this question























  • Is stateRed global or local variable?

    – Egor Skriptunoff
    Nov 14 '18 at 5:02






  • 1





    In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

    – ldurniat
    Nov 15 '18 at 20:37











  • stateRed is a global variable

    – Flynn Dale
    Nov 16 '18 at 1:14
















0















I've searched everywhere for an answer on how to change a variable inside a function. I have tried many different solutions but none have worked so far.



My plan is to change a variable named 'stateRed' inside a function which is run when a button is pressed. When the function is run, the variables will change to 'READY'. I will then use this variable to run a separate chunk of code (the actual game). There are two of these buttons.



My code looks something like this:



function ReadyRed()
stateRed = 'READY'
stateBtnRed = widget.newButton
{
defaultFile = "ready_red.png",
overFile = "unready_red.png",
label = "Ready",
emboss = true,
onPress = unreadyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end

function UnreadyRed()
local stateRed = 'UNREADY'
stateBtnRed = widget.newButton
{
defaultFile = "unready_red.png",
overFile = "ready_red.png",
label = "Unready",
emboss = true,
onPress = readyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end


The code that starts the game looks like this:



if stateRed == 'READY' and stateBlue == 'Ready' then









share|improve this question























  • Is stateRed global or local variable?

    – Egor Skriptunoff
    Nov 14 '18 at 5:02






  • 1





    In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

    – ldurniat
    Nov 15 '18 at 20:37











  • stateRed is a global variable

    – Flynn Dale
    Nov 16 '18 at 1:14














0












0








0








I've searched everywhere for an answer on how to change a variable inside a function. I have tried many different solutions but none have worked so far.



My plan is to change a variable named 'stateRed' inside a function which is run when a button is pressed. When the function is run, the variables will change to 'READY'. I will then use this variable to run a separate chunk of code (the actual game). There are two of these buttons.



My code looks something like this:



function ReadyRed()
stateRed = 'READY'
stateBtnRed = widget.newButton
{
defaultFile = "ready_red.png",
overFile = "unready_red.png",
label = "Ready",
emboss = true,
onPress = unreadyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end

function UnreadyRed()
local stateRed = 'UNREADY'
stateBtnRed = widget.newButton
{
defaultFile = "unready_red.png",
overFile = "ready_red.png",
label = "Unready",
emboss = true,
onPress = readyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end


The code that starts the game looks like this:



if stateRed == 'READY' and stateBlue == 'Ready' then









share|improve this question














I've searched everywhere for an answer on how to change a variable inside a function. I have tried many different solutions but none have worked so far.



My plan is to change a variable named 'stateRed' inside a function which is run when a button is pressed. When the function is run, the variables will change to 'READY'. I will then use this variable to run a separate chunk of code (the actual game). There are two of these buttons.



My code looks something like this:



function ReadyRed()
stateRed = 'READY'
stateBtnRed = widget.newButton
{
defaultFile = "ready_red.png",
overFile = "unready_red.png",
label = "Ready",
emboss = true,
onPress = unreadyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end

function UnreadyRed()
local stateRed = 'UNREADY'
stateBtnRed = widget.newButton
{
defaultFile = "unready_red.png",
overFile = "ready_red.png",
label = "Unready",
emboss = true,
onPress = readyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end


The code that starts the game looks like this:



if stateRed == 'READY' and stateBlue == 'Ready' then






lua corona






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 3:51









Flynn DaleFlynn Dale

1




1













  • Is stateRed global or local variable?

    – Egor Skriptunoff
    Nov 14 '18 at 5:02






  • 1





    In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

    – ldurniat
    Nov 15 '18 at 20:37











  • stateRed is a global variable

    – Flynn Dale
    Nov 16 '18 at 1:14



















  • Is stateRed global or local variable?

    – Egor Skriptunoff
    Nov 14 '18 at 5:02






  • 1





    In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

    – ldurniat
    Nov 15 '18 at 20:37











  • stateRed is a global variable

    – Flynn Dale
    Nov 16 '18 at 1:14

















Is stateRed global or local variable?

– Egor Skriptunoff
Nov 14 '18 at 5:02





Is stateRed global or local variable?

– Egor Skriptunoff
Nov 14 '18 at 5:02




1




1





In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

– ldurniat
Nov 15 '18 at 20:37





In your code you defined two different variables named the same stateRed. One is global and second is local (it exists only in UnreadyRed function).

– ldurniat
Nov 15 '18 at 20:37













stateRed is a global variable

– Flynn Dale
Nov 16 '18 at 1:14





stateRed is a global variable

– Flynn Dale
Nov 16 '18 at 1:14












1 Answer
1






active

oldest

votes


















2














If variable stateRed is global then remove local keyword stand before variable name i.e.



function UnreadyRed()
stateRed = 'UNREADY'
...
end


Note:




  • You probably don't need return stateRed in ReadyRed and UnreadyRed functions since stateRed is global variable.

  • Use one notation style. I recommended you Camel Case notation






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292947%2fvariables-inside-functions-corona-lua%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    If variable stateRed is global then remove local keyword stand before variable name i.e.



    function UnreadyRed()
    stateRed = 'UNREADY'
    ...
    end


    Note:




    • You probably don't need return stateRed in ReadyRed and UnreadyRed functions since stateRed is global variable.

    • Use one notation style. I recommended you Camel Case notation






    share|improve this answer




























      2














      If variable stateRed is global then remove local keyword stand before variable name i.e.



      function UnreadyRed()
      stateRed = 'UNREADY'
      ...
      end


      Note:




      • You probably don't need return stateRed in ReadyRed and UnreadyRed functions since stateRed is global variable.

      • Use one notation style. I recommended you Camel Case notation






      share|improve this answer


























        2












        2








        2







        If variable stateRed is global then remove local keyword stand before variable name i.e.



        function UnreadyRed()
        stateRed = 'UNREADY'
        ...
        end


        Note:




        • You probably don't need return stateRed in ReadyRed and UnreadyRed functions since stateRed is global variable.

        • Use one notation style. I recommended you Camel Case notation






        share|improve this answer













        If variable stateRed is global then remove local keyword stand before variable name i.e.



        function UnreadyRed()
        stateRed = 'UNREADY'
        ...
        end


        Note:




        • You probably don't need return stateRed in ReadyRed and UnreadyRed functions since stateRed is global variable.

        • Use one notation style. I recommended you Camel Case notation







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 17 '18 at 10:55









        ldurniatldurniat

        1,5792515




        1,5792515






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292947%2fvariables-inside-functions-corona-lua%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Error while running script in elastic search , gateway timeout

            Adding quotations to stringified JSON object values