Pete,

Please read (or re-read) my posting.

Your problem is not g3d, it's the value for whichModel.

'me' should be set to the script - that would be proper.

But look at where you call the function, as in exitAction and where you 
send down pSkip.

The logic here is convoluted:

   test = sprite(10).camera(1).Modelunderloc(finpoint)

   If test <> void then
     If pskip <> test then
         If pskip <> -1 then
           Exitaction(me,pskip)
         End if
         EnterAction(me,test)
         Pskip = test
       End if
     Else
       if pskip <> -1 then
         exitaction(me, pskip)
         pskip = -1
       end if
     End if


Presumably the first line sets test to a model.  And, then, if it's not the 
same model you had, and pskip isn't -1, it sends it down, and sets pSkip to 
the model, but it's a really convoluted way of doing it.  I can't trace 
through it here, but I can see some ways where it might get messed up.  But 
at any rate, check what pSkip is at the point where you call exitAction, 
because I'll bet it ain't a model at the time you're calling it and it's 
failing.

- Tab



At 02:36 AM 4/19/02 +0100, Pete [ki]M[-chi] wrote:
>I have declared "g3d" as a global variable - The full script is pasted below
>for anyone who feels like looking........
>
>I noticed in the debug window that the value for "me" is the script, and not
>the sprite - I think this explains a lot - but I'm lost as how to fix it.
>As director makes my 3d model on the fly - I attach the behaviour through my
>main movie script using the scriptInstanceList.add command (this works fine
>when I attach any other custom behaviour)
>
>Here is the script
>
>property porigin, spritenum, pskip, pTime, pfrequency
>
>global g3d
>
>
>On beginsprite me
>   Porigin = point(sprite(spritenum).left, sprite(spritenum).top)
>   Pskip = -1
>   Ptime = the milliseconds
>   Pfrequency = 100
>End
>
>On exitframe me
>   Curtime = the milliseconds
>   Deltatime = curtime - pTime
>   If deltatime >= pfrequency then
>     Finpoint = the mouseloc - porigin
>     test = sprite(10).camera(1).Modelunderloc(finpoint)
>
>     If test <> void then
>       If pskip <> test then
>         If pskip <> -1 then
>           Exitaction(me,pskip)
>         End if
>         EnterAction(me,test)
>         Pskip = test
>       End if
>     Else
>       if pskip <> -1 then
>         exitaction(me, pskip)
>         pskip = -1
>       end if
>     End if
>     PTime = the milliseconds
>   End if
>End
>
>
>On exitaction me, whichmodel
>
>   Case(whichmodel.name) of
>     "Ball1":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball2":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball3":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball4":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball5":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball6":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball7":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball8":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball9":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>     "Ball10":
>       g3d.shader("ball").emissive = rgb(0,0,0)
>   end case
>End
>
>On enteraction me, whichmodel
>   Case(whichmodel.name) of
>     "Ball1":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball2":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball3":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball4":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball5":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball6":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball7":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball8":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball9":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>     "Ball10":
>       g3d.shader("ball").emissive = rgb(127,127,127)
>   end case
>End
>
>
>----- Original Message -----
>From: Colin Holgate <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, April 19, 2002 1:50 AM
>Subject: Re: <lingo-l> What's going on?
>
>
> > >"property not found #name"
> > >at the following piece of code
> > >
> > >"On exitaction me, whichmodel
> > >
> > >   Case(whichmodel.name) of
> > >     "Ball1":
> > >       g3d.shader("ball").emissive = rgb(0,0,0)"
> > >
> > >Could someone please explain what this means.......
> > >Am I just being stupid?
> >
> >
> > I'm surprised that Paul didn't say:
> >
> > on exitaction me,whichmodel
> >     case(whichmodel.name) of
> >     "ball1":
> >         whichmodel.shader.emissive = rgb(0,0,0)
> >
> > but that's an aside. The thing that is likely to wrong in your
> > version is that you haven't said:
> >
> > global g3d
> >
> > somewhere in the script.
> >
> > [To remove yourself from this list, or to change to digest mode, go to
>http://www.penworks.com/lingo-l.cgi  To post messages to the list, email
>[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is
>for learning and helping with programming Lingo.  Thanks!]
> >
> >
>
>[To remove yourself from this list, or to change to digest mode, go to 
>http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
>[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L 
>is for learning and helping with programming Lingo.  Thanks!]

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]

Reply via email to