3 Replies Latest reply on May 10, 2008 7:47 AM by clbeech

    General Design

    Jamaisme
      I just want to start off by saying that I got flash 2 weeks ago and I have come along way. I have used the document class to create symbol instances, instainate them on the fly, add mouse events, dynamically create buttons based on the events, manipulated the symbol instances. I am ready to develop my first application but if you guys dont mind I would like for you to fillin the missing peices for me. For my first application i am going to create a simple flash game the screen flow of my game is as follows:

      1) Animated splash screen to introduce the game
      2) Game setting selection menu(play, settings, credit buttons)
      3) based on the Game settings selection I will Play the game
      4) based on the Game settings selection I will go to settings screen.
      5) based on the Game settings selection I will show some credits

      Questions:
      I know how to to each of those things individually in their own fla/swf file. Do i need to bring the 5 above fla files into 1 fla file, or do i need to create a 6th fla file to be a wrapper and import the above swf files?

      When viewing games that other people have written they have a status bar with a load time. They have generally the same components that I do above, are they loading all those movies. Secondly How do they know how much data they are loading and where they are with loads?

      Lastly i want to create a library of all the graphics i have made.. Right now all my graphics are in individual fla/swf files. How do I import all my graphics from my individual fla/swf files into 1 library so that I can right linkage thing and make them instances.

      Sorry for all the words, but i am so close to being dangerous. I have surfed alot, but its hard to find exactly what I am looking for. Thanks in advance.
        • 1. Re: General Design
          clbeech Level 3
          good for you - you're on your way :)

          I would recommend that you keep all of your game elements within a single swf file - this is best to call them to the timeline at need. additionally, most game companies (if you plan on submitting your game) will 'prefer' that there be only a single swf file.

          sounds like you are referring to a 'preloader' bar - and there are many types, you can actually make a perload indicator from any type of animation really. and the 'need' for this will depend on the 'size' of the end swf file. 'where to' and 'how to' do this is a matter of preference - there are several ways. many will include a looping type of code on the first two frames on a movie and use the 'getBytesLoaded()' and 'getBytesTotal()' methods to determine a percentage of the file loaded - however this can become a problem when loading certain things like for instance 'class' files, or items in the Library that are set to 'export in first frame' which you will need to utilize when constructing a application as complex as a game. Therefore a much better method of 'preloading' is to have a 'wrapper' (as you'd mentioned) swf file or 'master' loading swf - and then use the MovieClipLoader class to load the swf file of the game. the MovieClipLoader class has several handlers which make loading easy to monitor, control and initiate methods with in the loaded file when loading is complete. however - it does sound as though you are using CS3 - and therefore you may be coding in AS3 which has a 'new' and different system of handling loaded assets. but it is also likely that your splash screen may be sufficient, and the size of your file should be kept as small as possible anyway.

          importing graphics - if you have your 'new' master game doc open - you can use the File>>Import>>Open external library command to open the library of another fla file - then just simply click and drag the symbol from the 'other' file lib - to the one your working on.

          just a few thoughts for you to work with.
          • 2. Re: General Design
            Jamaisme Level 1
            So for each of the screens above, is it best practice to put them on their own Scene?
            • 3. General Design
              clbeech Level 3
              actually no - scenes and programming are bad, bad ,bad ... lol! there are reasons - and scenes are really meant to assist animators in producing long straight line animations - but when it comes to scripting, they are trouble.

              there are several other ways to 'containerize' your elements however, and if you're getting into producing games, i would recommend that you use MC (movieclips) and become fluent in attachMovie() and removeMovieClip() methods. using these you can bring an item to the stage at need, position it and then remove it from the stage when called for.

              one can also do this using the timeline and frame labels, and on a button press navigate to a frame label using the gotoAndPlay or gotoAndStop methods. sometimes this is best depending on the situation - like for instance if you have several instruction screens that the user progresses through, or a series of character speaking (text) sequences durring a transition between levels or something. however as a general rule when constructing a gameloop you should use mostly script, and have very few timeline elements, to retain complete control of the system and game events.

              another method would be to have your 'screens' set on different layers within the main timeline first frame - all of them as MCs (with instance names, always) and 'toggle' the needed screen's _visible property. in this way everything kind of 'exists' right there and all you need to do is 'show' the correct screen. but this also will depend entirely on the type of game you are making.