Join Keith Gilbert for an in-depth discussion in this video Nesting one MSO inside another, part of Adobe Digital Publishing Suite: Interactive Techniques.
- In a previous movie we saw how proper planning and naming of objects is vitally important to creating complex nested MSOs. Let's see how to complete this project. In the previous movie we created and named this multistate object that's out here on the pace board. And we've also got the named multistate object here, called, "scenic overlook MSO." And I'm going to simply drag this MSO into position here where I visually want it to be. And then, if I cut this... Cmd X, or Ctrl X.
And select the parent MSO and try to do the, "paste into state," command, you'll notice that the icon for it is grayed-out at the bottom of the object states panel. So it isn't as simple as just cutting the object and doing the paste into state, which is what we would use if this was just a group of objects that weren't MSOs. So we're not allowed to paste an MSO into the state of another MSO. If we could we wouldn't need to be going through this lesson.
So what do we do? Well, I'm going to undo that cut, so that we can see how to do it properly. And what we do is we anchor this multistate object into some text inside the parent multistate object. And in InDesign we can do that by just grabbing the little blue icon here that's up in the upper right hand corner of this multistate object, and drag that all, just anchor it after the scenic overlook headline, for example. And now if I select the parent MSO and go to the hidden state, you can see that that slide show disappears along with the state, and then it appears when I go to the visible state.
So we can see that that worked. However, I'm going to undo that, also, until it is un-anchored, because I want to do one little twist on this. What I just did works just fine. But I get a little nervous anchoring it right in with the flow of text in the parent multistate object, because if I come back next week or next month to edit this thing, and I edit the text, I might accidentally delete the anchor, or the text might reflow and the child multistate object might re-position itself or whatever.
So what I tend to do is, I tend to anchor the child MSO inside a clear text frame that I have pasted into the state of the parent MSO. That's kind of complicated to understand so let's do it and you can see how that works. So I'm going to create a little tiny text frame off to the side here. And that's a text frame that has no fill or no stroke. And I'm just going to drop that somewhere in the parent MSO here. And then I'm going to cut this with Cmd or Ctrl X.
And then select the parent MSO, the visible state, and do the paste into. This works in this case, because this is just a simple text frame. It's not a multistate object. So now this is part of the visible state of the scenic overlook MSO. So now I can take this stand-alone multistate object that I've got here and anchor that inside this text frame. So that text frame exists just to be a receptacle for a single text anchor.
That's just a cleaner way to do it. And it also sets us up a little bit nicer for the next step where we're going to create the buttons for this MSO. If we were just to draw a frame here for the forward button, and paste that into the parent multistate object, the action for the button wouldn't be able to see the nested multistate object. It wouldn't show up in the list of states that I can have that button navigate to.
So, the easiest way around that is just to take this frame, and anchor that frame inside a state of the parent MSO. Just like I did with this child MSO. So I just draw a clear frame here, and just anchor this also into this box here. And then I'll draw a clear frame over here for the back button, and I will anchor that also to the same location. And now all I have to do is wire up this button.
So I'm going to select this frame, go to my buttons panel, and assign the action, "Go To Previous State." And it says, "which multistate object "do you want this to go to the previous state of?" And I want to go to the previous state of the nested MSO. I have to pick the right multistate object from the list. This list, by the way, every multistate object on the current page will be displayed. If you've got other multistate objects in other pages, they won't show up here, but in this case I've got four MSOs on this page.
For some reason my button moved out of position, so I'll put that back where it belongs. So then I'll double-click on this one, and set up an action, "Go To Next State" of the nested MSO. And then slide that into position. And there we go. Preview that on the iPad, and we're completed. So with proper planning and careful work habits, creating nested MSOs is very doable, and really expands the possibilities of the types of interaction that you can create.
- Creating a "pop-up" box to reveal content
- Designing a multiple-choice quiz
- Getting started with nested multistate objects
- Creating feature-opener videos
- Building animated navigation buttons
- Including PDF content
- Adding a gyroscope-enabled panorama
Skill Level Intermediate
Q: After following along with the movie "Embedding a PDF in an article," I am not able to preview the PDF using the button within the folio, as shown. I receive a URL error message ("cannot open this page"). How do I fix the link to the PDF?
A: There is an error in this video. Instead of zipping the HTML resources folder itself, you need to zip compress the contents of that folder. Next, rename the zipped file to “HTMLResources.zip” exactly (the name is case-sensitive).