[Dir3d-l] Managing shockwave dcrs inside another shoclwave dcr

Mal Mal malachyduffin at gmail.com
Tue Jan 23 00:19:45 EST 2007


Hi Matthew,

You can share globals across movies using goToNetMovie, so it is the one to use.

We use it in this game, to move between the different sections ( menu,
intro ), with an overall loading movie handling which one to go to
etc.  Having a small loader allows you to show something quickly
between loads to indicate to the user that something is happening.

http://www.nanoquest.ie

> I'm now starting to read about MIAW, but I'm not sure if I should go down
> that road.

You can't use MIAWs in Shockwave unfortunately :(
Mal

On 1/22/07, Matthew Scott <matt at spotwerks.com> wrote:
> Hi folks,
>
> We're nearing completion of our first Shockwave game and in looking at the
> organization, I'd like to break up the pieces a little more efficiently.
>
> Ideally, I want a main published dcr that handles the intro screens, game
> setup, high score, and level selection. This Intro.dcr is 800x600 but has a
> smaller area in the center where content shows up.
>
> When a user selects a level to play, I want to show loading status in the
> center area (roughly 640x480) and then load in an external dcr.. say
> Level01.dcr off the server. Once this is fully loaded, I want it to start
> automatically.
>
> One last caveat, I need to "pass in" some of the configurable options like
> play controls, music on/off, etc.
>
> Now, in reading through the help I've come across a number of commands like
> gotoNetMovie(), but that actually replaces the existing movie with a new
> one. Want to embed the new movie inside the existing movie in the smaller
> content area. I also tried preloadNetThing(), but I can't figure out how to
> save the preloaded data into a member and force it to play in a region of
> the screen.
>
> On an earlier frame when a level is selected I currently have:
>
> LevelFileName = "Level01.dcr"
> member("ExternalLevel").filename = _movie.path & LevelFileName
> LevelNetID = preloadNetThing(member("ExternalLevel").filename)
>
> On my "Loading Screen" frames I've assigned the following script:
>
> global LevelNetID
> on prepareFrame
>   props = getStreamStatus(LevelNetID)
>   if props.bytesTotal = 0 then
>     member("LoadingProgress").text = ""
>   else
>     member("LoadingProgress").text = integer((props.bytesSoFar /
> props.bytesTotal) * 100) & "%"
>   end if
>
>   if props.state = "complete" then
>     go 135
>   end if
> end
>
> The state finishes and then transitions to frame 135, but the movie doesn't
> play.
>
> I'm not sure even once I have it loaded into a member or sprite how to play
> the embedded movie. Currently, I'm trying:
> member("ExternalLevel").movie.play()
>
> To make things worse, according to Shockwave's online help you cannot test
> this on your local machine. So my development has ground to a slow crawl as
> I tweak, publish, test, and repeat.
>
> I'm now starting to read about MIAW, but I'm not sure if I should go down
> that road.
>
> Any help would be greatly appreciated.
>
> Thanks,
> Matthew Scott
> Manifest Games
>
> _______________________________________________
> Dir3d-l mailing list
> Dir3d-l at nuttybar.drama.uga.edu
> http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l
>


More information about the Dir3d-l mailing list