How to stop the waterflow?

Hi,
I need to make the water coming from the shower, when shower is clicked.
And the water should stop after 5 seconds.
The code is below.
The water is flowing nicely. But I do not manage to stop it.
I added a timer, which starts when the shower is clicked. And should stop the waterflow after 5 seconds have passed.
With the lines
if (stop = true)
     break;
     trace("break");
it looks like the for loop is breaking right from the start, from the first second. But not completely, somehow 1 or 2 drops are flowing.
Without these lines nothing is happening when the time is over (5 seconds from clicking the shower). Water is just flowing.
Can someone help? How to stop the water flowing after 5 seconds and clean of the array and stage from the waterdrops?
Many thanks in advance!
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
var WatertropArray: Array = new Array();
var WaterArea01: MovieClip = new WaterArea();
var WaterBorder01: MovieClip = new WaterBorder();
var timer: Timer = new Timer(5000, 1);
var stopp: Boolean;
var i: uint;
Shower.addEventListener(MouseEvent.CLICK, waterFlowStart);
function waterFlowStart(event: MouseEvent): void
                addChild(WaterArea01);
                WaterArea01.x = WaterArea00.x;
                WaterArea01.y = WaterArea00.y;
                WaterArea01.alpha = 0;
                addChild(WaterBorder01);
                WaterBorder01.x = WaterBorder00.x;
                WaterBorder01.y = WaterBorder00.y;
                WaterBorder01.alpha = 0;
                stopp = false;
                timer.addEventListener(TimerEvent.TIMER, waterFlowEnd);
                timer.start();
                addWaterdrops();
                Shower.removeEventListener(MouseEvent.CLICK, waterFlowStart);
function addWaterdrops(): void
                for(var i: uint = 0; i < 100; i++)
                               var waterDrop: MovieClip = new Waterdrop();
                               addChild(waterDrop);
                               waterDrop.x = Math.round(Math.random() * stage.stageWidth / 1.5);
                               waterDrop.y = Math.round(Math.random() * stage.stageHeight / 3);
                               waterDrop.alpha = 0;
                               waterDrop.rotation = -12;
                               WatertropArray.push(waterDrop);
                               trace("waterdrops added");
                               moveWaterdrops();
function moveWaterdrops(): void
                waterDrop00.addEventListener(Event.ENTER_FRAME, waterFlow);
function waterFlow(event: Event): void
                for(var i: uint = 0; i < WatertropArray.length; i++)
                               WatertropArray[i].y += 8;
                               WatertropArray[i].x += 5;
                               //trace(i);
                               if(WatertropArray[i].hitTestObject(WaterArea01))
                                               WatertropArray[i].alpha = Math.random();
                                               WatertropArray[i].scaleX = Math.random();
                                               WatertropArray[i].scaleY = WatertropArray[i].scaleX;
                               if(WatertropArray[i].hitTestObject(WaterBorder01) || WatertropArray[i].x > stage.stageWidth || WatertropArray[i].y > stage.stageHeight / 2)
                                               WatertropArray[i].x = Math.round(Math.random() * stage.stageWidth / 1.5);
                                               WatertropArray[i].y = Math.round(Math.random() * stage.stageHeight / 3);
                                               WatertropArray[i].alpha = 0;
                               if(stopp = true)
                                               break;
                                               trace("break");
function waterFlowEnd(event: TimerEvent): void
                trace("TIME OVER");
                stopp = true;
                stoppTrue();
function stoppTrue(): void
                for(var i: uint = WatertropArray.length; i > WatertropArray.length; i--)
                               remove(i);
function remove(idx: int)
                removeChild(WatertropArray[idx]);
                WatertropArray.splice(idx, 1);
                trace("REMOVED");
                removeChild(waterDrop00);
                trace(i);

thanks again, kglad.
changed the for-loop and it is reaching now the last functions as well.
but there is still a but  ... an error message.
function waterFlowEnd(event: TimerEvent): void
trace("TIME OVER");
stopp = true;
stoppTrue();                                                       // line 106
function stoppTrue(): void
for(var i: uint = WatertropArray.length-1; i >= 0; i--)
trace("stoppTrue");
remove(i);                                                         // line 115                                                    
function remove(idx: int)
removeChild(WatertropArray[idx]);                   // line 123
WatertropArray.splice(idx, 1);
trace("REMOVED");
//removeChild(waterDrop00);
trace(i);
and the output panel gives the following (tested with 5 water drops, 5 items in array):
TIME OVER
stoppTrue
REMOVED
0
stoppTrue
REMOVED
0
stoppTrue
REMOVED
0
stoppTrue
REMOVED
0
stoppTrue
REMOVED
0
stoppTrue
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/removeChild()
at TitavannisinglisekeelneAS3_fla::MainTimeline/remove()[TitavannisinglisekeelneAS3_fla.Main Timeline::frame1:123]
at TitavannisinglisekeelneAS3_fla::MainTimeline/stoppTrue()[TitavannisinglisekeelneAS3_fla.M ainTimeline::frame1:115]
at TitavannisinglisekeelneAS3_fla::MainTimeline/waterFlowEnd()[TitavannisinglisekeelneAS3_fl a.MainTimeline::frame1:106]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
What is that error message trying to tell me?   

Similar Messages

  • How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share form

    How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share formats (iDVD, mp4, and last of all iTunes). The project label now carries signal with yellow triangled exclamation “i tunes out of date”.
    To solve the sync problem I’m following advice and detaching sound from all of the 100 or so short clips.  This operation has been stalled by the spinning ball. Shut down restart has not helped.
    The Project is mounted from Iomega and superspeed ext hd connected to imovie09 on macosx 10.5.8.
    What to do to resume repairs to the audio sync problem and so successfully share for youtube upload?

    How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share formats (iDVD, mp4, and last of all iTunes). The project label now carries signal with yellow triangled exclamation “i tunes out of date”.
    To solve the sync problem I’m following advice and detaching sound from all of the 100 or so short clips.  This operation has been stalled by the spinning ball. Shut down restart has not helped.
    The Project is mounted from Iomega and superspeed ext hd connected to imovie09 on macosx 10.5.8.
    What to do to resume repairs to the audio sync problem and so successfully share for youtube upload?

  • How to stop the changes made for the BP in CRM not to update in R/3

    Hello Gurus''
    we are in need of help......i have an issue...the issue is
    Wht ever the changes we do in crm , need to be not updated in r/3 ....for example if we change the the language for the BP 100 in CRM, it should not update in R/3
    Where as in our case the data is updateing in R/3
    Here by requesting you all to help me out how to stop the updaation of some changes  which are made in CRM , that should not be in R/3
    Point will be given......
    Regards
    sreeram Raghu

    Hello
    Thanks for ur reply.........
    We have the following business process
    We create BP with role prospect in CRM, once the prospect is ready to buy the product we conver the prospet in to customer and thesame  customer is replicated in R/3 fro sales.
    What i am looking at is for the customer we created in CRM if we change any data that should be updated in r/3..it may be nay like name address ...language....etc.....
    can u help me out...as u told me to unassig/delete the subcription:All Business partner(MESG) under that we have --
    >publication>All BP(MESG)->Replication object-->Bupa_Main
    >Sites-->SQ1_300
    If we do this process does the issue will fix or else we need to do soem thing more...
    Thanks in advance
    Regards
    Sreeram Raghu
    +91-99 94 94 82 72

  • How to stop the internal batch session

    Hi ,
    How to stop the internal batch session, which is triggered from the program.
    When I execute the program, there is an batch session, which starts processing in parallel with the program, and causes an error message for the program, so the further process is affected.
    I tried finding the session through the Transactions - SM35, SM37. However, I could find any session in my name.
    However, when I try thro SM04, I could find an session with the same error message. But I am not able to end the session.
    Pleas advise.
    Thanks,
    cartesian.

    Go through transaction SM50. In case you have more than one application server (transaction SM51 will show) you can also use SM66 which will show all running processes on all application servers.
    With SM50 you will only see the process running if it is running on the same application server you are logged on to.
    Mark the process and use menu 'Program/Session - End Session' or 'Process - End with or without Core'
    Hope that helps,
    Michael

  • How to stop the auto-start of log reader agent (replication) right after my database is restored?

    I have the scenario where the SQL server is restored (after migration).
    This database has transactional replication set-up on one of the databases. When I do a manual delete and restore of the database, I see that the replication starts right after the publisher and subscriber are restored.
    Replication agents should not start and run before the integrity checks are completed. How to stop the replication from auto starting right after the migration?
    Thanks in advance - Jebah

    Thanks Pradyothana, I have disabled the logreader, distribution agents through sp_update_job in Tsql script. I have also verified that there are no pending transactions to be replicated to the subscriber, I see that the job is still being executed. Is there
    any other way to disable the jobs?
    Steps I followed
    Started with a Working publication and subscription
    Disabled the jobs (log reader and distribution agents)
    Backed up publisher, subscriber, distribution and msdb
    Deleted the publication, subscription, publisher and subscriber
    Restored the publisher, subscriber, distribution and msdb
    Enabled the jobs and executed sp_replrestart
    Observations/Issues
    Replication does not work
    Replication monitor does not show any error
    Jobs are shows as enabled but not started in job monitor
    Not able to start/stop the log reader and synchronization manually.
    I am not sure if I have missed something while restoring the db.
    Thanks in advance

  • How to stop the running infospoke

    Hi Experts,
    there is a infospoke is still running so long time, it's incorrect, i'll cancel it as kick off the dependenies, i have no idea to how to stop the running infospoke. Anybody could tell me how to do it. thanks in advance.

    hi denny,
       Go to SM37 , find the job , stop the process
    or
       To stop the job find the job with the help of the request name ( TC - SM37 ),then in the job Details find the PID .
    find the process in the process Overview (SM50 / SM51 ).
    Set the restart to NO and Cancel the process without core
    u can also see these threads that are already posted:
    stopping v3 run job LIS-BW-VB_APPLICATION_02_010
    how to cancel or change the background job which is scheduled
      In SM37, for the job , click on Step button. Then from the menu Goto > variant. You can see the process chain name here.
    sure it helps
    Thanks
    Varun CN

  • How to stop the timing out of web Discoverer Plus

    I was working in Plus, and it drove me crazy that I would loose my work because I kept my session open and it would time out.How to stop the timing out of web Discoverer Plus?
    Thank you,
    Olga

    Please check Discoverer configuration guide which tells you which parameter to change in preference file(pref.txt).I think you change the value.

  • How to stop the report from Web!

    hi,all!
    Now I can start a report from Web with schedule parameter!Can you tell me how to stop the report via the Web server?Or tell me with which patameter.Thank a lot.

    hello,
    there is a CGI/Servlet command called killjob which you pass the job-id of the job you want to kill.
    regards,
    the oracle reports team --pw                                                                                                                                                                                                                                                                                                           

  • How to stop the Dialog from being dragged

    I was hoping that someone could tell me when calling a Dialog from Jframe, a how to stop the Dialog from being dragged
    while a dialog is showing.
    When it is visible I can still click and drag the Dialog
    I want to set it so you can not drag it until the dialog has be closed.

    If you don't have access to the parent frame, a "hack" that usually works:
    Frame frame = Frame.getFrames()[0];
    if (null != frame && frame instanceof JFrame){
    JFrame jf = (JFrame)frame;
    JDialog jd = new JDialog(jf, "title");
    ... code here ...
    As each JFrame (or Frame) is opened, its stored in the array of Frames that you can get. Same thing with Dialog.getDialogs(). Almost always, at least so far for me I've never had this problem, the [0] index is the main window opened, or the parent/top frame. I'd put the check in there to be safe and make sure its a JFrame and usually you'll only have the one JFrame.

  • How to stop the upload process?

    Hi,
    i had by mistake started the other upload than the required!
    How to stop the current upload process,( generally it takes lot of time to upload the data as data is huge )
    Thanks,
    Ravi

    Hi Ravi Kottur 
    Just follow the things like Sunil suggested check one more just kill the process
    manually and goto RSMO and in the Monitor QM status just Amke it red manually
    for the load which you want to stop and then go to that particular info provider
    Manage and delte the request.. 
    Hope itz clear a little atleast...!
    Thanks & Regards
    R M K
    ***Assigning pointz is the only way of saying thanx in SDN ***
    **Learning the thingz is never end process if u stop it will Be a devil if u continue it will be a divine***
    > Hi,
    >
    > i had by mistake started the other upload than the
    > required!
    >
    > How to stop the current upload process,( generally it
    > takes lot of time to upload the data as data is huge
    > )
    >
    >
    > Thanks,
    > Ravi

  • How to Stop the method Action When an Exception Occur in other Method

    Hi All ,
    public void action( Event clientEvent) {
    startAction();
    JOptionPane.showMessageDialog(null, getDocumnetId());
    how to Stop the method action ( "action" ) if an exception occur in the method ("startAction")
    ( if the exception occur we doesn't need to show the JOption Message )

    Hi,
    try FacesContext.getCurrentInstance().renderResponse();
    Frank

  • How to stop the message "press 1 for ..."

    Hello, while I'm at it...does anyone know how to stop the instructions that get attached to my outgoing voicemail message?  You know, the one that says, press 1 for __, press 2 for __, press * to send a fax.....in my old phone (also with Verizon) it didn't have that message. 
    Thanks all!

    I took this problem to a genius.  He removed the SIM card and added a new "blank" card from AT&T.  Using this SIM we went to setting an turned cellular data off.  Then we put the Apple SIM back in the machine.  Now you can turn off the cellular so you will no longer get the messages.  To end this practice, sign up with a carrier.  Just click the button in the Settings... menu.

  • How to stop the background job "Sap_collector_for_job_statistic"

    Dear All,
    Kindly let me know how to stop the Background job "Sap_collector_for_job_statistic" which is running everyday.
    We want to stop this background job.
    Kindly suggest.
    Regards,
    Mullairaja

    Select the Job using SM37 transaction. In the Menu Choose
    Job ---> Cancel Active Job.
    Before you do this it may be good idea to check the pid using SM50.
    It will be using a Background work process. Check the pid and the status.
    Select the same and in the Menu Choose Process --> Cancel with Core.
    Refresh and check in SM37 for the Active and Cancelled Jobs.

  • HOW TO STOP THE PROCESS CHAIN WHICH IS RUNNING IN THE PRODUCTION?

    HI ALL,
    CAN ANYONE TELL ME HOW TO STOP THE PROCESS CHAIN WHICH IS RUNNING DAILY AT 5.00 PM. I NEED TO STOP THE PROCESS CHAIN FOR COUPLE OF DAYS AND THEN RESTART IT AGAIN.
    cAN ANYONE TELL ME THE PROCEDURE TO STOP THE ENTIRE PROCESS CHAIN RUNNING IN THE PRODUCTION.
    THANKS
    HARITHA

    Hi,
    First and foremost let me advice you to be very careful while doing this.
    For Rescheduling
    RSPC> chain > Goto > Planning view and
    click on Execution tab > select > Remove from Schedule and then in Maintain variant of start process reschedule for the day you require it to run.
    For terminating active chain
    You can start from SM37, find the process WID/PID then go to SM50 or SM51 and kill it. Once its done come back to RSMO and check the request, it should be red but again manually force to red and save by clicking on the total status button in the status tab. This shuld ensure that the process is killed properly.
    The next step will be to go to targets that you were loading and remove the red requests from those targets.
    Note: For source system loads you may have to check if the request is running in the source system and kill if needed and pull it again.
    But for BW datamart delta loads u may have reset the datamarts in case u are going to pull the delta again.
    Re: Kill a Job
    Re: Killing a process chain.
    Regards,
    JituK

  • How to stop the Browser from caching my web pages

    Hi There
    Can anyone tell how to stop the browser from caching my jsp pages
    I am using
    <%response.setHeader("Cache-Control","no-cache");
    response.setHeader("Pragma","no-cache");
    response.setDateHeader ("Expires", 0);
    %>
    but this does not work anduser is able to go back to the previous page
    which i dont want and i want the browser to display the message the page has expired
    Help appreciated
    Thanks
    Mumtaz

    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("max-age", 0);
    response.setDateHeader("Expires", 0);
    I have cut paste the code from my jsp which is working. There is one additional line. I do not know if that is the cause but there is no harm in trying that out.
    Srinivasan Ranganathan

Maybe you are looking for