Hi Paul,

To resolve the setInterval scope issue you could use the second
setInterval syntax (undocumented in the Flash doc) :

weatherTimer = setInterval(this, "changeWeather", 5000);


About the 80s time limit, if you target your swf to version 8, you could use 
the setTimeout method witch is perfect for that ;) (work the same as 
setInterval).


Cédric

Paul Steven wrote:
> Thanks James, sounds good enough to me and seems to work nicely.
>
> Many thanks
>
> Paul
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of James
> Marsden
> Sent: 05 November 2006 10:44
> To: Flashcoders mailing list
> Subject: Re: [Flashcoders] OOP advice for game
>
> It's a life saver in AS 2.0
>
>
> It basically solves the problem of function scope in AS 2.0 (something 
> that AS 3.0 comes with as standard - yay)
>
> In this case, it means that the global function setInterval knows where 
> to locate and call the function (inside the class) - and also knows 
> where to clear it when you want to clear it.
>
> I don't actually understand *why* this implementation for setInterval 
> works - it doesn't really make sense... but then there's soo much about 
> AS 2.0 that doesn't make sense...
>
> AS 3.0 is a tidy bedroom compared to AS 2.0's sloppy student digs...
>
> J
>
>
>
> Paul Steven wrote:
>   
>> Ah brilliant - thanks James, much appreciated!!
>>
>> Will have to look up what this mx.utils.Delegate malarkey means though...
>>
>> Paul
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On Behalf Of James
>> Marsden
>> Sent: 05 November 2006 09:22
>> To: Flashcoders mailing list
>> Subject: RE: [Flashcoders] OOP advice for game
>>
>> actually the private func there might need to be changed to public.
>>
>> I've had headaches getting intervals to clear properly, and this way works
>> for us :)
>>
>> Good luck!
>>
>> J
>>
>>
>>   
>>     
>>> I'm assuming you're using AS 2.0 - inside WeatherManager.as:
>>>
>>> class WeatherManager
>>> {
>>>
>>>   // private var to hold interval
>>>   private var weatherTimer;
>>>
>>>   // constructor
>>>   public function WeatherManager()
>>>   {
>>>     weatherTimer = setInterval(mx.utils.Delegate.create(this,
>>> changeWeather), 5000);
>>>   }
>>>
>>>   // weather change func
>>>   private function changeWeather()
>>>   {
>>>     // change the weather
>>>   }
>>>
>>>   // clear interval func
>>>   public function cleanUp()
>>>   {
>>>     clearInterval(weatherTimer);
>>>   }
>>> }
>>>
>>>
>>> // hope that helps!
>>>
>>>
>>>
>>>     
>>>       
>>>> I have done as you suggested and have created separate classes for the
>>>> balloon, ball, scoreboard and clouds and this all seems to work fine.
>>>> The
>>>> design pattern is based on an Observer pattern where these separate
>>>> objects
>>>> register themselves as observers of a WeatherManager object.
>>>>
>>>> I have created a WeatherManager.as class that broadcasts any updates to
>>>> the
>>>> weather to the observers.
>>>>
>>>> Now I need to have the WeatherManager periodically change the weather
>>>> conditions. I was thinking it should have some sort of internal timer
>>>> and
>>>> every say 5 seconds, it will amend the weather conditions.
>>>>
>>>> Not sure how best to create an internal timer - would I just use
>>>> setInterval
>>>> within the WeatherManager class? Or would it be better to create a timer
>>>> class and have a loop to continually check this timer? I have had real
>>>> problems in the past using setInterval in that they don't seem to clear.
>>>>
>>>> The game itself is time based and there is a time limit of 80 seconds so
>>>> there will need to be a timer for this too. Not sure if best to use just
>>>> one
>>>> timer for dealing with both or just let the WeatherManager have its own
>>>> timer and at the beginning of the game just start its timer and leave it
>>>> to
>>>> do its updates independently of the main game timer
>>>>
>>>> Any suggestions most appreciated
>>>>
>>>> Thanks
>>>>
>>>> Paul
>>>>
>>>> -----Original Message-----
>>>> From: [EMAIL PROTECTED]
>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Weyert
>>>> de
>>>> Boer
>>>> Sent: 04 November 2006 17:52
>>>> To: Flashcoders mailing list
>>>> Subject: Re: [Flashcoders] OOP advice for game
>>>>
>>>> Yeah, I made a little game myself and use the classes FoodPiece, Snake,
>>>> and GameWorld and SnakeGame. Meaning that SnakeGame handles all the
>>>> stuff such as start/stop game, score counting. The GameWorld is
>>>> responsible for all the drawing, and calling the update method of the
>>>> Snake instance, which will then have dedicated code to update itself.
>>>>
>>>> Works nicely!
>>>>
>>>> Weyert
>>>> _______________________________________________
>>>> [email protected]
>>>> To change your subscription options or search the archive:
>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>>> Brought to you by Fig Leaf Software
>>>> Premier Authorized Adobe Consulting and Training
>>>> http://www.figleaf.com
>>>> http://training.figleaf.com
>>>>
>>>> _______________________________________________
>>>> [email protected]
>>>> To change your subscription options or search the archive:
>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>>> Brought to you by Fig Leaf Software
>>>> Premier Authorized Adobe Consulting and Training
>>>> http://www.figleaf.com
>>>> http://training.figleaf.com
>>>>
>>>>       
>>>>         
>>> _______________________________________________
>>> [email protected]
>>> To change your subscription options or search the archive:
>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>>> Brought to you by Fig Leaf Software
>>> Premier Authorized Adobe Consulting and Training
>>> http://www.figleaf.com
>>> http://training.figleaf.com
>>>
>>>     
>>>       
>> _______________________________________________
>> [email protected]
>> To change your subscription options or search the archive:
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>> Brought to you by Fig Leaf Software
>> Premier Authorized Adobe Consulting and Training
>> http://www.figleaf.com
>> http://training.figleaf.com
>>
>> _______________________________________________
>> [email protected]
>> To change your subscription options or search the archive:
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>> Brought to you by Fig Leaf Software
>> Premier Authorized Adobe Consulting and Training
>> http://www.figleaf.com
>> http://training.figleaf.com
>>
>>   
>>     
> _______________________________________________
> [email protected]
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> Brought to you by Fig Leaf Software
> Premier Authorized Adobe Consulting and Training
> http://www.figleaf.com
> http://training.figleaf.com
>
> _______________________________________________
> [email protected]
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> Brought to you by Fig Leaf Software
> Premier Authorized Adobe Consulting and Training
> http://www.figleaf.com
> http://training.figleaf.com
>
>
>   

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to