Animation freeze

erik hansen erikhans08 at yahoo.com
Mon Mar 17 19:57:01 EST 2003


--- Scott Rossi <scott at tactilemedia.com> wrote:

> > is there an example anywhere?
> > sounds like neural networking.
> > or artificial life.
> 
> It can be.  Here's a simple example that
> demonstrates the "intelligence"
> principle -- a stack that brings five graphic
> objects to life and kills them
> with the push of a button.
> 
> 1) Create a new stack
> 
> 2) Create two buttons: "Master" and "Give
> Life"; position these at the
> bottom of the card
> 
> 3) Create 5 small oval draw graphics and
> position them at various locations
> on the card
> 
> 4) Place this script in button "Master":
> on mouseUp
>   # THIS ALLOWS EASY EDITING OF THE MASTER
> SCRIPT FOR ALL SPRITE OBJECTS
>   if short name of me is "master" then edit
> script of me
> end mouseUp
> 
> on activateMe
>   set the uAllowLife of me to true
>   set the uRate of me to "3,3"
>   set the uLimits of me to rect of this cd
>   moveMe
> end activateMe
> 
> on moveMe
>   if not the uAllowLife of me then exit moveMe
>   # MANAGE HORIZONTAL MOVEMENT
>   if item 1 of the uRate of me > 0 then
>     if right of me > item 3 of the uLimits of
> me then
>       set the uRate of me to ("-3," & item 2 of
> the uRate of me)
>     end if
>   else
>     if left of me < item 1 of the uLimits of me
> then \
>        set the uRate of me to "3," & item 2 of
> the uRate of me
>   end if
>   # MANAGE VERTICAL MOVEMENT
>   if item 2 of the uRate of me > 0 then
>     if bottom of me > item 4 of the uLimits of
> me then
>       set the uRate of me to (item 1 of the
> uRate of me & ",-3")
>     end if
>   else
>     if top of me < item 2 of the uLimits of me
> then \
>        set the uRate of me to (item 1 of the
> uRate of me & ",3")
>   end if
>   put the loc of me into tLoc
>   add item 1 of the uRate of me to item 1 of
> tLoc
>   add item 2 of the uRate of me to item 2 of
> tLoc
>   set loc of me to tLoc
>   send "moveMe" to me in 10 milliseconds
> end moveMe
> 
> on killMe
>   set the uAllowLife of me to false
> end killMe
> 
> 
> 5) Place this script in button "Give Life":
> on mouseUp
>   set the uLife of me to not the uLife of me
>   if the uLife of me then
>     repeat with x = 1 to 5
>       set script of grc x to script of btn
> master
>       send "activateMe" to grc x in (x*200)
> milliseconds
>     end repeat
>   else
>     repeat with x = 1 to 5
>       send "killMe" to grc x
>     end repeat
>   end if
> end mouseUp
> 
> -----
> 
> Click the "Give Life" button.  You should see
> the ball "sprites" come to
> life one at a time and bounce.  When each ball
> senses the edge of the screen
> it will change direction.  Click the "Give
> Life" button again to kill all
> movement.  By adding random/changing values to
> the move rates and timing,
> you can create some intricate/organic movement
> that is handled individually
> by each sprite being "self aware".

thanks,
this will take time to ponder.
there must be a tie in with Turtle Graphics.

=====
erik at erikhansen.org    http://www.erikhansen.org

__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com



More information about the use-livecode mailing list