>From: "Mark A. Boyd" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: Re: <lingo-l> x-post PASTING external cast name -  
>growingprojector database?
>Date: Tue, 06 Feb 2001 04:48:48 -0800
>
>Without doing the entire project, I'll put up some ideas here. They are
>very likely incomplete, so be sure to think through all the possibilities.
>You may want to flowchart the concept, as well.
>
>At 14:53 2/5/2001, Steven Frazier wrote:
>>1. A movie named "picture database"
>>2. a Field named  "entercastname"  where the user would enter the name of
>>the picture they paste in.
>
>This is the member name to extract the text for naming the newly created
>member (as per Florian's reply).
>
>>3. a Field named  "frame" which would automatically display the frame
>>number of the movie.
>
>I would store the value in a global variable. Each time the user hits the
>New button, add 1 to the global variable and put it into this field's text
>property.
>
>>4. a "New"  button for the user to advance to a new frame and do the whole
>>process once.
>
>Since you probably have no idea how many frames the user will create, you
>may want to think in pseudo frames. That is, stay on one frame in the score
>even though the user doesn't know it. Just swap the members on the fly and
>increment a variable to illustrate a "frame" number.
>
>global gFrame
>on mouseUp
>   gFrame = gFrame + 1
>   member("frame").text = string(gFrame)
>end
>
>>5. a Button Named " paste picture " which would do the following.
>>         a. paste a picture to the stage on this frame only (one frame)
>>         b. create a new cast member in an external cast named 
>>"externalcast"
>>         c. name that newly formed cast member with the name placed in the
>>field "entercastname" by the user to describe the picture they pasted
>>onto the stage.
>>         d. When it is finished doing the above steps - it would create a
>>new blank frame - number the frame in the field "frame" and the process
>>would start all over.
>
>I might disagree with the order of things here. Thinking as the programmer
>rather than the user, you would want to create the cast member before
>attempting to place anything on the stage. Also, if hitting " paste picture
>" automatically creates a new frame, is there any need for a "New" button?
>I would probably omit that step from the paste function, but use it if it
>makes more sense in your project.
>
>As to how to dynamically place sprites in the score, there are a couple of
>popular methods. One involves puppeting an empty sprite channel and setting
>that sprite's member to your new member. Not officially supported by
>Macromedia but sworn to & loved by some of the members of this list. This
>will likely require manually setting the rect & other properties as well.
>Another popular method is to create a 0 pixel bitmap member named, say,
>"standIn" and place it on the stage. Then just set that sprite's member to
>your new member. I believe there are articles on the DOUG site at
>http://www.director-online.com that describe one or both methods in more
>detail.
>
>This might be how it would look as a behavior on the " paste picture "
>button. Note that this is UNTESTED EMAIL LINGO and doesn't have any error
>trapping or testing for what type of member is created after the paste
>function. Check into "Type (cast member property)" in the Lingo Dictionary.
>Also, beware of empty text in "membername" or duplicate names.
>
>-- over simplified
>global gFrame
>on mouseUp
>   newMem = new(#text, castLib "externalcast")
>   newMem.pasteClipBoardInto( )
>   newMem.name = member("entercastname").text
>   -- assumes you have a "standIn" member in sprite x
>    -- replace x with your sprite number
>   sprite(x).member = newMem
>   gFrame = gFrame + 1
>   member("frame").text = string(gFrame )
>end
>
>Again, I did not test the above script in your scenario. Chances are you
>would need to use a global object or global variable that stores all the
>information as the user creates the slides. Then your bitmap sprite might
>check this variable in its beginSprite handler so that it knows which
>member it's supposed to display. Perhaps a global list that you update at
>the end of each paste method. The list could look something like:
>
>lBitmaps = ["flower", "car", "boat"]
>
>This could also be used by the paste button to ensure the user doesn't try
>to use the same name twice. A property list may be even more appropriate 
>here.
>
>>6. a Back button to review the entries already made.
>
>If you're actually using Score frames:
>on mouseUp
>   go the frame - 1
>end
>
>Otherwise, perhaps:
>
>global gFrame
>global lBitmaps
>on mouseUp
>   gFrame = gFrame - 1
>   if gFrame = 0 then gFrame = 1
>   sprite(x).member = member(lBitmaps[gFrame])
>end
>
>>7. This whole movie then is made into a projector to do this in a runtime
>>situation on both platforms. With a projector named
>
>The list I mentioned above would need to be stored in such a way that the
>projector can read it on start up. Several options are available here,
>including reading/writing to a text file with fileIO or get/setPref (if not
>running from a CD), storing the list as a string in a field member of your
>saveable cast, using the new propSave Xtra, etc. There are several articles
>available at the usual Director sites for saving information via different
>methods.
>
>>"data projector" .. This would of course enlarge and would save a complete
>>named cast to be later used for other projects.
>
>This can be accomplished with the Lingo 'save' command. If they need to
>create separate shows rather than constantly expanding the current show,
>you could use fileIO to allow the user to provide a name for the cast & let
>them open that cast later for presentation (get the name & set the fileName
>of a dummy external cast).
>
>So, in my wee-hours-of-the-morning ways of thought, I hope I've presented
>some concepts you might be able to use. Re-reading my reply, I can see that
>I added concepts as I wrote, such as the lBitmaps variable. I certainly
>haven't considered all the avenues, contingencies, or consequences. For
>instance, it just occurred to me that your projector will need to know
>whether it's in "edit" mode or "display" mode (use one frame for
>editing/creating and a different frame for displaying?). Clear? Undo?
>Change the order of the slides? Change bitmap position? Automatic/manual
>modes for presentation? Add narration, text, video? . . .
>
>OK, I'd better start the coffee.
>
>Hopefully it'll get you started.
>
>__ Dear Mark
I can't thank you enough at how much you have helped me . Thanks so much for 
your time and the care and concern that
went into your answer. It gives me so much to work on and be excited about. 
You have done immeasureable good on my behalf.
This is something I have been trying to do for so long. Now it might just be 
possible. I will keep you posted about the progress.
Thanks guy!
Sincerely
Steven
>--
>Mark A. Boyd
>Keep-On-Learnin' :)
>
>
>[To remove yourself from this list, or to change to digest mode, go to
>http://www.penworks.com/LUJ/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!]
>

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/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