Pause Button

Getting into LiveCode for iOS? Ask your questions here.

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Pause Button

Post by Danny » Fri Mar 04, 2011 5:49 am

Hello all,
I'm trying to figure out how to pause my game with out throwing off the timer. The timer is this, when you press play, a timer starts and when it runs out it ends the game. Also when I've tried to pause the game and then all the apples start to fall in one big bunch of 5 or 6 or however many apples are still up there. I'm not sure how to pause either of these which is why i'm coming to you guys.

This is the script i've been using to drop the apples. I wasn't sure if this would help.

Code: Select all

on dropTheBalls
   local tTimeSpan, tBallID, tBallNum, tTempBallList
   put fld "fDropRate" into tTimeSpan
   put gBallList into tTempBallList
   repeat the number of items in gBallList times
      put random(the number of items in tTempBallList) into tBallNum
      put item tBallNum of tTempBallList into tBallID
      send "dropMe" to tBallID in tTimeSpan seconds 
      delete item tBallNum of tTempBallList
      add fld "fDropRate" to tTimeSpan
   end repeat
end dropTheBalls
Thanks,

Danny

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Thu Mar 17, 2011 4:51 pm

Does anyone have any ideas?

Klaus
Posts: 14182
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: Pause Button

Post by Klaus » Thu Mar 17, 2011 5:25 pm

Hi Danny,

we need more info e.g. the script with the timer!
The script above does not have any timer in it.


Best

Klaus

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Thu Mar 17, 2011 5:30 pm

Not a problem. Would this be enough? This is all the code I have for the apples...

Code: Select all

global gBallList


on openCard
   hide group "test"
    set the moveSpeed to fld "fDropSpeed"
   send dropTheBalls to me in 1 milliseconds
   send timerPlayed to me in 10800 milliseconds
   gameReset
   initializeBalls
   movePig
end openCard

on gameReset
   initializeBalls
   movePig
   hide group "test"
      put 0 into fld "fBallsCaught"
      put 0 into fld "fBallsDropped"
end gameReset

on timerPlayed
   set the layer of group "test" to 8
   show group "test"
   set the layer of img "Pig" to bottom
   end timerPlayed

on movePig
   set the layer of img "Pig" to 4
end movePig

on initializeBalls
   local tBallCounter, tBallID, tStartHeight, tStartRight, tLoc
   lock screen
  
   -- delete any old balls
   if the number of items in gBallList > 0 then
      repeat for each item tBallID in gBallList
         try
            delete tBallID
            end try
      end repeat
   end if
   put empty into gBallList
   
   -- create the new balls
   put item 2 of the loc of grc "grcStartField" into tLoc
   repeat with tBallCounter = 1 to fld "fNumBalls"
      clone img "BallTemplate"
      put it into tBallID
      put tBallID & comma after gBallList
      set the width of tBallID to fld "fBallSize"
      set the height of tBallID to fld "fBallSize"
    put random(220) + 10 & comma & random(200) + 20 into tLoc
    set the loc of img "BallTemplate" to tLoc
    
   end repeat
   delete the last char of gBallList
   
   unlock screen
end initializeBalls

on dropTheBalls
   local tTimeSpan, tBallID, tBallNum, tTempBallList
   put fld "fDropRate" into tTimeSpan
   put gBallList into tTempBallList
   repeat the number of items in gBallList times
      put random(the number of items in tTempBallList) into tBallNum
      put item tBallNum of tTempBallList into tBallID
      send "dropMe" to tBallID in tTimeSpan seconds 
      delete item tBallNum of tTempBallList
      add fld "fDropRate" to tTimeSpan
   end repeat
end dropTheBalls
Thanks,

Danny

P.S Let me know if you see anything I can optimize

Klaus
Posts: 14182
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: Pause Button

Post by Klaus » Thu Mar 17, 2011 5:55 pm

Hu Danny,

since you start the timer immediately, this needs a complete rethinking
of the concept to let the user "pause" the action.

I will have to think about it a bit longer :)


Best

Klaus

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Mon Mar 21, 2011 2:34 am

Yeah, take your time. Let me know if you have any ideas and thanks for taking the time to think about it

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1239
Joined: Sat Apr 08, 2006 1:10 pm
Contact:

Re: Pause Button

Post by BvG » Mon Mar 21, 2011 11:51 am

Why don't you make two timers. One that counts the time, and another one that does the animation stuff. Then you can stop the animation and the time can go on.
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Tue Mar 22, 2011 12:40 am

How exactly do you pause a timer? Also when I quit the app and I come back there are items on the screen that were moving and are now frozen like they are part of the background and I don't know how to delete them.

Thanks,

Danny

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1239
Joined: Sat Apr 08, 2006 1:10 pm
Contact:

Re: Pause Button

Post by BvG » Tue Mar 22, 2011 1:09 am

you can't pause a timer, but you can choose not to send it, the send in time command is the only way to have reoccuring code happen, outside of user actions, without completely blocking LiveCode apps (well there's some other cases like libURL calls, but that's beyond this discussion).

As for your app behaving strangely, there is really only one person who can fix that (hint, you see that person in a mirror).
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Tue Mar 22, 2011 1:43 am

Well I'll take a look into the don't send timer idea.

That guy in the mirror looked strangely like me :shock: :lol: If that's the case, I guess it's time to start brainstorming some code to get this to work.
By the way did you know that you can get an app to multitask if you deselect "Exit on Suspend." Just a cool fact if you ever wanted to know.

Thanks,

Danny

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1239
Joined: Sat Apr 08, 2006 1:10 pm
Contact:

Re: Pause Button

Post by BvG » Tue Mar 22, 2011 2:34 am

deselecting "exit on suspend" has nothing to do with multitasking. I Don't think it's even a Livecode feature, maybe a Windows thing?
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Tue Mar 22, 2011 5:31 am

If you go into file->standalone settings->iOS it would be on the right. Also I'm running a Mac. I think it is irrelevant because you were right, when I tried switching a bunch of apps then returned to mine it just showed a black screen. I wonder why it's there..? I hope they add that feature soon!

bn
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 4166
Joined: Sun Jan 07, 2007 9:12 pm

Re: Pause Button

Post by bn » Tue Mar 22, 2011 10:13 am

Hi Danny,
If you go into file->standalone settings->iOS it would be on the right. Also I'm running a Mac. I think it is irrelevant because you were right, when I tried switching a bunch of apps then returned to mine it just showed a black screen. I wonder why it's there..? I hope they add that feature soon!
it is not implemented as yet. One guy had his app rejected in the app store because of the black screen when returning to the app. Don't use it.

kind regards

Bernd

Danny
Posts: 106
Joined: Tue Nov 09, 2010 1:28 am

Re: Pause Button

Post by Danny » Tue Mar 22, 2011 2:34 pm

Hey Bernd,
After I saw that it left a black screen I immediately knew I wasn't going to use it but if the guy got his app rejected for that then I'm for sure not going to use it. I still wonder why it's there in the first place. Thanks for letting me know!

Thanks,

Danny

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1239
Joined: Sat Apr 08, 2006 1:10 pm
Contact:

Re: Pause Button

Post by BvG » Tue Mar 22, 2011 4:27 pm

Ah on iOS you can set this so your app resumes as left despite leaving it. that is not multitasking within your app, but running several apps within the os. And still, it's just keeping the app from quitting and keeping it in the background (but suspended). That is funnily exactly how applications behaved on mac os 7, it was called multifinder back then.
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

Post Reply