ActionScript 2.0 :: Preloader - Large Images Not Loading
Oct 15, 2008
I'm building a flash based site for my photography in Flash CS3 with actionscript 2. The swf is almost 700kb so I guess I'll need a preloader right? I thought I could create a preloader scene before the main content scene and apply the following code to the single frame within the preloader:
Code:
ifFrameLoaded ("website", 3){
gotoAndPlay ("website", 1);
}
This doesn't seem to work as the large images in my gallery (contained within a movie clip) won't load unless you leave the gallery page then go back in?
At the moment, I am loading an external SWF file into my movie. The swf file contains a large FLV video... At the moment, I am using the code below, and the video is being loaded into a movie clip with the label "vid1"
_root.vid1.loadMovie("womanonbike4.swf");
The video loads fine. However, because it is such a large video, there is a delay. Can I PRELOAD the video during the main movie's Preloader?
So, my main movie starts, a preloader loads the entire main movie AND the external SWF file (womanonbike4.swf). Then, when the movie gets to the part of the main movie, where the external file is loaded, it will just play!
I have this code which works fine when selecting a small number of images.
public var fileReferenceList:FileReferenceList; public function browseFiles(event:Event = null):void {
[Code]....
However, when selecting a large number of images (1000+), the fileList isn't initialized yet when the SELECT event is dispatched. Is there a way to wait for the fileList to be initialized?
I have a photo gallery that is XML based. In IE everything works fine. In Firefox, the gallery will load all the thumbnails and then hang up when loading the large image. The trouble is this only happens on the galleries that have a lot of images in them. It works fine with smaller galleries. Since it's xml driven, the images are not loaded until called for and all the thumbnails get loaded. I did see a post about a var being collected for garbage if it's defined inside a function, but I've tried to limit that to just declaring a new image to be displayed. My site is: [URL]. If for some reason you get a page saying that this site is under construction, click the link to the gallery again. I don't know why that keeps bringing up an old page.
First of I'm using Flash CS4 and AS 3.0 I'm trying to make a photo gallery for my website. I have the gallery all setup and made and now I need a preloader for loading my images. Right now my gallery is setup like this:
-A list of clickable thumbnails. (20 thumbnails)
-A UILoader
-You click a thumbnail and it loads an external image into the UILoader.
Actionscript: I have an array with 20 images. I have 20 different event listeners for each thumbnail.
The eventlistener looks like this: thumbs.thumbs1.t1_btn.addEventListener(MouseEvent. CLICK, loadP1); The function looks like this:
[Code]....
The UILoader is inside 2 moveclips because of a transition effect I have. The buttons are also 2 movieclips deep because of motion tweens.specific reason.
I created a flash slideshow which preloads the images. After preloading the images, it proceeds to load an external flash file and then the images. The problem is, very very occasionally, it will fail to actually load the images into view, and I'll just see the preloading animation, but it might still load the external swf. Additionally, it might do the reverse, and load the images and not load the external swf.
Here is the (I think) relevant code: function onXMLLoadComplete(e:Event):void { // create new xml with the received data xmlSlideshow = new XML(e.target.data); // get total slide count // misc xml data [Code] ..... The live site is here: [URL]
I have a gallery, which loads up all its images from an XML file. So the XML gets loaded, when loaded it calls a function urlLoaded. That in turn puts uses a Thumbnail class for each image in the XML, which then gets placed in an array, so the array can be iterated through to establish X and Y pos of each image when added to the mc Photocontainer.
PHP Code:
var urlRequest:URLRequest = new URLRequest("pics.xml"); var urlLoader:URLLoader = new URLLoader(); var xml:XML;
[Code]......
I'm passing the parameter 'i' through to the tracel function as this traces when each image has finished loading. I have a preloader in the main timeline I want to control. Say there are 20 images, how do I use the info in the tracel function to control that preloader? Would it be best to pass into the Thumbnail class the xmlList.length(), so the number of total images and then from the tracel function add and control a preloader, so when image 10 is complete the tracel function would make a slider its added to stage go to half way.
I'm about to make a preloader of sorts, but have run into a problem because I have multiple SWFs being externally loaded in different locations. [URL]
As of now, it's setup like so: Main.swf - has the scrollbar, loads body.swf into scrollbar container Body.swf - has the layout, buttons, etc. Loads illus_finished.swf, illus_sketchbook.swf, etc. illus_finished (and all other work files).swf - dynamically loads XML and images/info.
So basically, its one big swf that loads the content swf. The content swf loads the work swf's - which load the xml, images/info. I think I might load all the swfs from one file somehow, but I'm having trouble targeting into MC's of loaded swf's.
Should I set up a preloader swf, and somehow preload all the swfs into the browser cache? (I dont know how to do this, esp since I'm loading into a target, and not a level#) This way I wouldn't have to change how my movie is setup.
Should I take all the loading instances out of all my files and load them all from the first movie - and stick the preloader in THAT file? I can't figure THIS out, either, because I can't seem to target movieclips in loaded SWFs.
I'm using TLF text, so there's a RSL involved. I get that there's a way to include the library in my own code, but I'd rather not do that unless there's no other solution.
In Advanced Action Script Settings > Preloader Method, there's a choice between "Preloader SWF" (five black dots, the default thing) and "Custom preloader loop". My first question is then how to use this Custom preloader loop thing? What is it referencing? Do I have to write a special thingy somewhere? What?
And I already made a simple "bar filling up" kind of preloader, which I'm testing by using the aforementioned "Custom preloader loop" setting and simulating download. (My project no longer compiles when not simulating download [VerifyError: Error #1014: Couldn't find flashx.textLayout.container::ContainerController class.] which led to the conclusion that I'm doing something wrong here.) It does fill up, but it starts at about 60%. From my earlier badly worded Google searches, I think my problem is that I am using a bunch of external .as files which are loading before the preloader. Is there any way to tie the .as files later, or something?(That, or my preloader actually takes up 60% of the project's data, which would surprise me but isn't impossible because it's still very bare.
I'm making a game and I'm sorta kinda using tiles to render the map screen. So I have a bunch of sprites on screen, for which I created a Refresh() method that I call whenever necessary. In this method, I use a Loader object to load desired bitmaps (which aren't in the project's Library), then add this Loader as a child. The main reason I did it that way is because I could then reference the images to load with a string, and so include arguments in there.
(I don't know if I'm clear, so let my try to be more descriptive. I basically have an array containing the map data. I'll read that array and pass some properties as arguments to my Refresh() method to draw the screen correctly. I'll then be able to load the image ["sprite" + arg1 + arg2 + ".png"] by using that string to create a new URLRequest (and then use that in the Loader).If I understand the way this works correctly (and I probably don't ), I'm downloading the images all over again each time I call Refresh instead of having them "cached" somewhere, which is inefficient (because they're tiles and I'm reusing them multiple times). Am I correct in that assumption?
I thought the more "efficient" way would be to import my tiles in the project Library and export these for ActionScript. (They're PNGs, so they inherit from BitmapData.) My problem with this method is that to use these images, I now have to instantiate a class, so there's no string involved, and so I can't concatenate variables with a string anymore to fetch the right PNG to display, which is really, really annoying.
So I'd like to have the best of both worlds: cache images while still being able to refer to them with a string. Is that possible? And more generally, what's the "right" way to dynamically render images in the context of a tile-based map?
EDIT:public vars vs. getters and setters I have classes with properties. I've gathered that it's good programming practice to declare these properties as private vars and then define getter and setter functions to access them. It's easier to just declare these variables as public and move on. What are the pros and cons of both methods?
I'm very new to flash and have a question for you wizards
I've created a simple slideshow displaying images which are being loaded from a XML file. I wish to have a preloader which displays the % loaded , if possible, while it's preloading the images from the xml file.
[code]Whenever im preloading images, i get a NaN Error everytime. Sometimes all i see is a NaN error, not even load numbers like 89% or so. I got the swf online at url...If you go to any section in the designs menu (3d design, 2d design or webdesign) and click a image you get the script that gives the NaN.I only get NaN in Firefox, Internet Explorer just gives 0. But either way i would like to see percentages rather than 0 or NaN.
So I've got a large movie (about 94k) that I need to preload. I used my usual Preloader script, which has been working great for me FOREVER and it just doesn't go! If I take out the movieclip with the images (yes they're optimized half to death) it loads fine. Main content is a movie clip on second frame of main timeline.There's a stop action on second frame of main timeline.[code]
how to display a preloader on a large movieclip loaded from the library? right now my app just freezes from the moment the load button is pressed until the movieclip finishes loading and appears on stage.When loading an external swf I use the contentLoader to get the loading info display a preloader. can someone paste an example code of a preloader on library movieclips?
I use Flash primarily for animation. The project I'm working on currently is a hefty 1920 X 1080 square pixel file and currently weighs in at 187mb because of all the sounds and jpg images.It's 2 minutes long.
The problem occuring is new to me as I've never worked with projects this long or in this resolution. Or with this much data (sound effects, jpgs, etc).
The problem is this: I'm trying to import a high resolution photograph (3500x2500) onto the stage or even just in the library. I'm using the photos to get an idea on where the final animation will be placed (photo backgrounds, flash animation, composited in After Effects, think Roger Rabbit).
I found this bug in Flash 8, so I just downloaded CS5.5 trial and I see the same problem. When I increase the image export resolution to get a larger image, at one point the lower section of the image became white (the image has the appropriate size but the content is not rendered in the lower section). As bigger is the image, larger is the white fraction. The amount of useful pixels always stay around 10 or 13 megapixels. Here some examples:Original image was 3375x6710 pixels in the left one and 2625x5219 en the right one.
I'm having an issue where when I try to print a larger image via printjob one of two things happens. One either the job fails or two the output of the image is literally diagonally cut off. I am simply passing the stage to the print job. I've tried both with and without using printAsBitmap.
I'm creating a movie object using images. I'm using PNG file types with an alpha channel. Each frame is approx 640 x 480, each single pitch image is 36 frames creating an image 23040 x 480. If it's a multidimensional image it is 23040 x 11520. I load the image in using "img_name".loadMovie("imageFileName", 1);
The problem is it only seems to load around 2880 pix of the image.
How can I get it to load the whole image? How can I choose it to load the next section of the image?
I have some pretty large PNG images stored in a database (example 1000x15000 px, 4.5MB). I am trying to load this using the Loader class...the problem I am having is when I call load(), nothing happens. No events, no errors.I can take the same image and embed it. As long as as I set the height to less than 8000px it works fine. If I convert the embedded image to a ByteArray and try to load it, nothing happens.
Here is an example online, I am trying something similar but am not happy with what I am seeing, perhaps it is just on my side. The scrolling seems choppy/jagged. I have this same issue doing a similar scroll with lots of big images. Is there any way to get a nice smooth scroll at a decent speed with flash?
Ive ported my as2 code into as3 but am seeing the same results. I have used tweener and tweenlite, nothing Ive tried is helping. how to achieve a smooth scroll?
I am attempting to capture a very large image that was made dynamically within the Flash Player (the size of the image is 2400px by 12,000px) and am running into some very serious issues... Let me run down how the image get's to that size in the first place:
User adds elements to a canvas and then when the user is finished the canvas scales up to 2400px wide and ~12,000px tall. The problem arises when I attempt to save the image to the hard drive. Now, I dont know if this will affect the recommended fix, but the rendered image wont be saved on the hard drive, it will be sent to a server. I know about the ~4050px limit in Flash Player and was thinking I could get around that by clipping the images with the ImageSnapshot.captureBitmapData() method and keeping the required Rectangle variable below 4000px then repeat that down the large image until it reaches the end where the final images will be pieced together at a later time. However... As i mentioned the error comes when it reaches the 'fileReference.save(pngImage);' method..
I am creating an image gallery and it has a set of scrolling thumbs at the bottom and when clicked it opens an image that is the large version of it. What i would like to do is have the scrolling thumbs inside a black stroked box using the drawing API and when clicked it opens that image larger with another black box around that image. I know you have to use the drawing API but I have no idea on how to implement it at all. Also is there any chance each image could have a preloader on it.[code]...
I've recently picked up some flash work after a long respite into motion graphics via after effects, and I'm slowly mucking my way through things. I've currently got more than 250k pixels I need to seamlessly scroll through horizontally, via a scrollbar and buttons. I've bitten off more than I expected! I've been searching around, and it seems like tile based scrolling is what I'm going to need, due to max bitmap restrictions, is this correct?
If I'm on the right track here, I throw myself on the mercy of the community for any tile-based scrolling resources out there that you know of, something that explains the idea and setup from a non-game point of view maybe? Sorry if I seem like another noob looking for a quick fix, I've honestly been trying to find info on this all morning. Also, feel free to smack me into shape if I'm making this harder on myself than necessary.
I have an all flash website that works by having each portion of it to load and unload in the center of a frame based off the navigation chosen.Load times on everything but one part of my site are ok.The dimensions of the part inside the frame are 968x674.I know that's relatively large for a flash file, but that can't be changed at this point.Within the page there are objects that come up when you find an item on the screen.Its a dialog box and it shows text, an image, and has a voice over that reads what the text says.After you're done looking at it, there is an x-button to dismiss the window.There are 15 of these and they are exported to the actionscript.I add them in the actionscript via addChild.
The other huge thing is there is a ton on the screen.It starts you off in an environment, and when you click 3 different sections, it zooms into that portion allowing you to look for the items you're trying to find.There is also a man that talks and animates in the beginning and at the end.We are planning on taking out the end part and putting a text box up. URL...The two parts of the site we are trying to optimize is the main menu when you first are at the site, and the "Explore" section.(Just click on the cloud on the front page.
I am creating a Flash site for a client who wants to display many (about 15) fairly hi-res photos as well as a video. I am using the Video class to display and control the video, and the Loader class to load the photos. I preload them from an XML file up front, while "loading..." is displayed.
The video plays immediately after the loader finishes, and the user can also choose to view the slideshow, which has left/right arrows which show each photo with a simple fade tween between each one.
The problem I am having seems to be that when all these assets are loaded, the video and the "fade" effects are very choppy. If I cut down on the number of photos, everything works fine; but I have to include all of them, plus the video.
I am storing all the Loader instances in an array, and when they are requested, I add them to the stage and fade them in. When it finishes fading in I remove the previous one from the stage. So they are all stored in Flash's "memory", but there is only one Loader or Video instance on the stage at any given time. Is there a better way to handle this? Perhaps some way to cache the images but not bog down Flash's memory? I would prefer to have everything loaded up front in order to avoid needing a "loading..." for every slide.
We build prototypes and demo applications in Flex 4.5.1 and AIR 2.7 for mobile and desktop use. These tend to involve a large number of full-screen .PNG files. Lately we have been looking at ways to segment our code for flexibility and multi-screen re-use. What suggestions do people have for segmenting the project and libraries such that compile times are minimal and images are easy to replace?
I am building a portfolio site which dynamically loads large hi-res images when the user clicks on a thumnail. However I'm having problems maintaining the original image's quality when resizing it to fit the current browser. Currently I'm just adjusting the width & height properties of the image to width to the stage proportionally which is working fine getting it to fit, however I cannot figure out how to maintain image quality? Do I need to load it as a bitmap and redraw/smooth or something similar?[code]