10 Replies Latest reply on Aug 22, 2007 10:22 AM by nsharma

    modular approach to presentation

    nsharma
      My client often asks me to make presentations with bulletpoints and images for his talks, some contain upto 30 pages. I dislike powerpoint , so use Director. I use the right and left arrow keys for frame advance. The style is that when the user presses the right arrow key another bullet point appears while the previous point goes grey. Programmng 30 pages with bulletpoints ranging from 2 to 12 is quite time consuming and labour intensive. Is there a modular way for working using lists which will achieve the same results. How do I go about it?

      Any thoughts?
        • 1. Re: modular approach to presentation
          tedalde2 Level 2
          Here's one concept: You could use one frame with a text member on it, and populate it with text from other fields (named slide01, slide02, ... etc). When "filling" a new slide, set the text of the member onstage, and keep track of the number of lines. Subsequent keypresses increment or decrement the current line. When that happens, you hilite or de-hilite the current line: member("TextOnStage").line[currentLine].color = rgb(r, g, b) etc... You'd probably need to color and format bullets, too, which may or may not be embedded within the text. When you reach beyond the last line, or backup beyond the first line, blank the text and start the next/previous slide. You may need to set text size, too, according to how many characters/lines are in the text.

          I always prefer taking the time to automate repetitive tasks; if I'm going to spend time on it anyway, why not spend that time figuring out something new?
          • 2. Re: modular approach to presentation
            nsharma Level 1
            quote:

            Originally posted by: tedalde2
            set the text of the member onstage, and keep track of the number of lines. Subsequent keypresses increment or decrement the current line. When that happens, you hilite or de-hilite the current line: member("TextOnStage").line[currentLine].color = rgb(r, g, b) etc...

            Thanks so much for your response. I can see what you are suggesting.

            BUT not sure how to do this. I have been using the right arrow key to navigate to the next point. Suppose you have three lines on the screen. As you say we don't want to break them up in to three separate cast members because that's time consuming. So, what lingo would you use to show the second line and dim the first one? Suppose I am using a forward button then -

            on mouseUp

            Do what?

            end

            How would you count the lines?

            Thanks again.


            • 3. modular approach to presentation
              tedalde2 Level 2
              Here's one example which you'd probably have to edit to get it to work:
              • 4. Re: modular approach to presentation
                nsharma Level 1
                Thank you SO much for the codes - very helpful. I am getting an error message at
                pTxt.text = vTextFill

                "string expected"

                Also, it would be helpful to know how you'll move to the successive slides in the cast library. Thank you so much for taking time to reply.
                • 5. Re: modular approach to presentation
                  nsharma Level 1
                  Thank you SO much for the codes - very helpful. I am getting an error message at
                  pText.text = vTextFill

                  "string expected"

                  Also, it would be helpful to know how you'll move to the successive slides in the cast library. Thank you so much for taking time to reply.
                  • 6. modular approach to presentation
                    tedalde2 Level 2
                    The key to moving to the next (or previous...) slide would be the line: vTextFill = member("slideText" & pSlideCount).text. This assumes you have field (or text) cast members named "slideText1", "slideText2", etc. I might think this is an easy way to get text from your presenter into Director; just copy the text they give you and make one Director text field for each slide.

                    If member("slideText" & pSlideCount) is not a member, vTextFill will be VOID, not a string. (That's a bit strange since I'd think lingo would throw a "property not found" error when trying to access.text of a non-member... but that's the way it works).

                    Note that I made a mistake in the line: pLineMax = pText.lineCount. If pText is a reference to a text member (not a field member) then it should be pLineMax = pText.line.count
                    • 7. Re: modular approach to presentation
                      nsharma Level 1
                      That's amazing. This would save me hours of time. I am VERY grateful to you for that.

                      The only thing I haven't been able to crack is why all the text from the textSlides appears all at once. Then on the mouse clicks each line begins to turn grey as expected. It would be great if the lines on the textSlides came up one by one.

                      Anyway, a BIG thank you for all your help so far.
                      • 8. Re: modular approach to presentation
                        nsharma Level 1
                        I could start the textSlide with it's rgb set to white in

                        pText.color = rgb(255,255,255)

                        BUT that would only work on a white background.
                        • 9. Re: modular approach to presentation
                          tedalde2 Level 2
                          Yes, right, you probably want to build lines one at a time. You might start each slide with no text, and add a line on every click. Instead of setting the color, you could do something like pText.line[pLineCount] = member("slide" & pSlideCount).line[pLineCount] ... good luck.
                          • 10. Re: modular approach to presentation
                            nsharma Level 1
                            That's brilliant. I think I understand the principle, but end of the day.. and my brain is seized up I think! Which line would you replace with this line of code?

                            on makeNewSlide me
                            -- fill the text member onstage with slide text, and format it correctly...
                            vTextFill = member("slideText" & pSlideCount).text
                            pText.text = vTextFill
                            pLineCount = 0
                            pLineMax = pText.lineCount -- num of lines in new text
                            pText.color = rgb... etc... probably formatted all gray...
                            end makeNewSlide