Page 1 of 1
Can't get an image to reappear after set times
Posted: Thu Nov 14, 2013 2:47 pm
by Nico_C_GHS
I am having some troubles making an image disappear after a certain amount of time (let's say 3 seconds for arguments sake).
I am creating a game and a crucial part of the reaction-time aspect of the game (the concept upon which the game is founded) is not working and I can't seem to figure it out.
I know roughly that it will require a boolean variable to say whether or not the user has clicked on the image (clicking on an image adds points to your score and causes them to disappear and reappear elsewhere - this part works).
I know that I will also be required to use a "send to me in time" command which will include (in the send function) a "wait with messages" command.
However, I'm unaware of how to initialise the function and I'm not sure on what the code required to say "if this image hasn't been clicked on in the first 3 seconds after it has appear, make it disappear and reappear elsewhere after a further 5 seconds"
If anyone has any advice or guidance to offer it would be greatly appreciated. The section in quotation marks is the part I really need advice with. I can attach a replica of the screen containing the image that will need to be coded if it is required/requested.
Much appreciated,
Nico Colarusso
Re: Can't get an image to reappear after set times
Posted: Fri Nov 15, 2013 1:21 am
by Simon
Hi Nico,
I can't remember precisely your code at the moment but:
send "mouseUp" to target in 4 seconds? (haven't tested that)
somewhere in your hide handler.
Simon
Re: Can't get an image to reappear after set times
Posted: Tue Nov 19, 2013 3:39 pm
by Nico_C_GHS
Hi Simon,
I can give that a shot and see if it works, the logic is infallible so it should do. The only problem I have with that code is that in my "mouseDown" section, I have an area that adds 20 points to your score, if I send mouseDown to the target then wouldn't it add the 20 to the score also?
Also;
will that 4 seconds reset when the button is clicked on?
wouldn't the 4 second timer run while the fish is invisible? Essentially creating a never ending loop of hiding and adding points to the score?
Here's the code:
Code: Select all
on mouseDown
add 20 to fld HitCount
set the visible of me to false
put random(731 - 35 + 1) + 35 - 1 into xPos
put random(431 - 73 + 1) + 73 - 1 into yPos
set the loc of me to xPos,yPos
send "show_the_fish" to me in random(20) seconds
end mouseDown
Re: Can't get an image to reappear after set times
Posted: Tue Nov 19, 2013 9:18 pm
by Simon
Hi Nico,
Sorry I forgot about the score.
I'm thinking now a separate handler could be made in the fish, something like hideMySorrySelf <<that is a "made up" name can be anything you want as long as it's not used by liveCode.
on hideMySorrySelf
-- add 20 to fld HitCount
set the visible of me to false
put random(731 - 35 + 1) + 35 - 1 into xPos
put random(431 - 73 + 1) + 73 - 1 into yPos
set the loc of me to xPos,yPos
send "show_the_fish" to me in random(20) seconds --I think you need to still do this? maybe reduce the time?
--yes, a loop, but I figure you want it to do that?
end hideMySorrySelf
Simon
Re: Can't get an image to reappear after set times
Posted: Thu Nov 21, 2013 2:39 pm
by Nico_C_GHS
Hi Simon,
I see how that would work and that does make logical sense.
However, how would I set it up so that it only works when the image hasn't been clicked on? Or does that code work with that logic?
Re: Can't get an image to reappear after set times
Posted: Thu Nov 21, 2013 10:41 pm
by Simon
Hi Nico,
You call it from "show_the_fish".
Simon
Re: Can't get an image to reappear after set times
Posted: Tue Nov 26, 2013 2:48 pm
by Nico_C_GHS
Hi Simon,
I'm really sorry but the whole concept really is escaping me. I can see that it would work but I just can't seem to get it into code and onto the script. If I call the function on the image of the fish, how do I make it so that the fish doesn't just stay invisible after I've clicked on it? I'm sure that the timer would start running even when the fish is invisible before it turns visible for me to click on it again unless I set the times to be ridiculously short. If that isn't the case then I must be overlooking something.
all the best,
Nico
Re: Can't get an image to reappear after set times
Posted: Tue Nov 26, 2013 9:36 pm
by Simon
Hi Nico,
Here this will help:
Code: Select all
repeat for each line x in the pendingMessages
if the short id of me is in x then cancel item 1 of x
end repeat
Add that to the top of your mouseDown handler.
Now each of the three timers are in sequence one after the other. One timer doesn't start till the other is finished.
Simon
Re: Can't get an image to reappear after set times
Posted: Thu Nov 28, 2013 2:48 pm
by Nico_C_GHS
Hi Simon,
That makes a lot of sense. Should I set the other timers into the card script?
Thank you for your feedback,
Nico
Re: Can't get an image to reappear after set times
Posted: Thu Nov 28, 2013 10:06 pm
by Simon
Hi Nico,
Should I set the other timers into the card script?
I guess so, could be the stack.
Simon
Re: Can't get an image to reappear after set times
Posted: Mon Dec 02, 2013 9:49 am
by Nico_C_GHS
Hi Simon,
The timers work! Thank you so much for that, I've only got a tiny bit left to do for the program now and it shouldn't be terribly difficult

Could I be a pest and ask two quick questions about the images that I need a little help with? (Just niggly things really, I'm quite pedantic)
Re: Can't get an image to reappear after set times
Posted: Mon Dec 02, 2013 6:58 pm
by Simon
Sure no problem.
Simon
Re: Can't get an image to reappear after set times
Posted: Thu Dec 05, 2013 3:20 pm
by Nico_C_GHS
Hi Simon,
It turns out that I don't need any more help with the images, I have another thread for the final question I have about the program:
http://forums.runrev.com/viewtopic.php?f=22&t=18273