Global - more of a memory hog, should be avoided where possible, can be accessed from any other “scene” in your app.
Local - much better choice but can only be accessed from the “scene” you’ve created it in.
Now although globals are “bad” there are times you’ll find you can’t really get around using them. You just don’t want to make a habit of it.
In your case, you start your app using Director and you go to your actual game play scene.
In this scene right now you have something like;
[lua]local score = 0[/lua]
Then you add to it doing something like this;
[lua]score = score + 10[/lua]
Correct?
Well, in your game over scene if you said;
[lua]print (score)[/lua]
It would return nil.
SO - you could do this in your game file;
[lua]_G.score = 0
_G.score = _G.score + 10[/lua]
Then on gameover do;
[lua]print (_G.score)[/lua]
And the correct value from the game will be returned.
Does this clear things up? If not I can try to get more in depth.
Peach 
PS - I must stress, again, that you should avoid globals where possible - don’t make a habit of it. [import]uid: 52491 topic_id: 18275 reply_id: 70100[/import]