Jump to content


  • Posts

  • Joined

  • Last visited


1 Newbie
  1. thanks for your speedy reply. found the problem (I think). I've no doubt you are correct that the issue was in filterplugin.as, however you should check the swc. I am using the latest version (just downloaded again to be absolutly sure - 12.0.10) when I complile against the com folder verison there is no error and all works as expected. when I complile using the swc the error still happens, so presumably the updated filterplugin.as is not correctly embeded into it. thanks again
  2. Hi Jack, I'm getting an intermittent error when applying colourmatrixfilter and glowfilter on same object. if the error happens i can "dismiss" in flash[debug]player but the effect will never apply. if I then close flashplayer and re-run often it works fine (not making any change in code) any ideas? heres the error message ----- TypeError: Error #1034: Type Coercion failed: cannot convert flash.filters::GlowFilter@1084d72e1 to flash.filters.ColorMatrixFilter. at com.greensock.plugins::ColorMatrixFilterPlugin/_onInitTween()[/Active/_Flash/_AS3_v12/src/com/greensock/plugins/ColorMatrixFilterPlugin.as:94] at com.greensock::TweenLite/_initProps()[/Active/_Flash/_AS3_v12/src/com/greensock/TweenLite.as:587] at com.greensock::TweenLite/_init()[/Active/_Flash/_AS3_v12/src/com/greensock/TweenLite.as:545] at com.greensock::TweenMax/render()[/Active/_Flash/_AS3_v12/src/com/greensock/TweenMax.as:965] at com.greensock.core::SimpleTimeline/render()[/Active/_Flash/_AS3_v12/src/com/greensock/core/SimpleTimeline.as:166] at com.greensock.core::Animation$/_updateRoot()[/Active/_Flash/_AS3_v12/src/com/greensock/core/Animation.as:546] ----- heres the code: var mainTint:int = 0x99cc00;//green var innerGlow:int = 0xacd100; var outerGlow:int = 0xffffcc; var bm:Bitmap = Bitmap(_gameGrid.purpleCardBitmaps[_dragCard.index]); TweenMax.to(bm, 0.3, { colorMatrixFilter:{colorize:mainTint, amount:1, contrast:1, brightness:1.4, saturation:1, hue:0, index:0}, glowFilter:{color:innerGlow, inner:true, alpha:0.8, blurX:40, blurY:40, index:1} }); TweenMax.to(bm, 0.3, { overwrite:false, glowFilter:{color:outerGlow, inner:false, alpha:0.6, blurX:15, blurY:15, index:2} });
  3. Carl, strange that you get no 'live' scrubbing at all in the out of browser players! (just in case it matters i'm on osx10.6.8, cs5.5, debug player11.2) anyway, I now have a solution... the issue seemed to be something with me using an enterframe listener to manage the update of the display. I have changed this to a Timer and it now works fine, even in browser. Not sure is this is VideoLoader or flash but good to know if you need to patch. here's the updated scrubber AS: VideoControlsScrubber.txt would be great if you could give it a quick test on your setup to confirm. thanks
  4. forgot to say, I included greensock.swc so you know the exact verison I'm using (should be latest) but in the test.fla you will need to link it in settings > library path and 'merge with code'. (sorry if preaching to the choir!)
  5. carl, thanks for your detailed response, I understand that a flash video seek can only lock to a keyframe. Unfortunatly though I almost entirely certain its not a keyframe issue as it seeks fine in the flash IDE, and not in a browser. I have double checked with a few flv including one I specially encoded with keyframes set every 5 frames to confirm this. please note its not that it doesn't seek at all in a browser only that the video display does not update until you let go of the scrubber. I.e. start scrub at 1 second move to 10 seconds and hold it there for ages, the display does not show a frame near 10 seconds, then let go of scrubber and it displays! my video control also incudes a clock that shows the video currenttime is correctly being moved during the scrub. greensock, i've been running this with ALL files local so there should be no issue with buffering or not being fully loaded. my scrubber also includes a preload graphic to show that the file has indeed fully loaded. I have of course uploaded and checked running from a server too in case the browser was doing something weird, but that made no difference. (BTW checked in up-to-date firefox, chrome and safari on mac, flash debug player hopefully i've correctly attached test files this time! test.zip just to say again, all scrubs fine with a test publish in the flash IDE, and also fine if I double click on the swf file and it opens directly in the flash standalone player. problem is when the swf is opened in a browser, either by drag n' drop swf into a browser window or more conventially by html embed via swfobject. thanks
  6. Hi, I have a loadermax videoLoader loading an flv. I then have a 'scrubber' to scrub through the video by calling : _vidLoader.gotoVideoTime(_vidLoader.duration*scrubPercent) When I play the swf in the flash IDE or in the standalone player (mac) the video scrubs as expected, you see the video frame corresponding to the scrubbers location. The problem is when I play the swf in a browser (embedded in a html or opened directly) the video display does not show the scrubbed-to frame until the scrubber is released. i.e. its possible to scrub indefinately and see no change till mouse_up. is there a way to make the video scrub in a browser the way it does in the IDE? i've attached test ('sample.flv' not included to save on filesize). thanks
  7. quick reply as it could take some time to get this up to the domino server to test, but that does sound like exactly what I was missing. Many thanks
  8. I am using loadermax to load assets into a flash site, and normally this is fine... however... my client has re-situated the site to a domino/notes server and a problem has come up with gsCacheBuster. from what I can make out, on a domino query string the first parameter can be a single word command (aka action) rather than a typical Key-Value-Pair. so where a loadermax asset url ordinarily would be ...path/file.xml on domino it might be changed to read ...path/file.xml?open (then adding KVPs like: ?open&key=value&var=val) the fact that there is now a ? in the url is turning on gsCacheBuster which in turn rewrites "?open" to "?gsCacheBuster=num&open=" 1. should you be adding the gsCacheBuster at the end of any existing query string rather than at the beginning? 2. the command "open" now has an "=" added attempting to make it a KVP. i.e. do not rewrite the query just append it. unfortunately I know virtually nothing about domino and do not have access to the server to check anything there anyway, so apologies in advance if missing something here! if this is not something to address in loadermax please do point me in the right direction. more on domino query commands here: http://www.ibm.com/developerworks/lotus ... eat_sheet/ many thanks
  9. actually that makes perfect sense now you point it out, maybe worth adding a small note on this to the XMLLoader documentation. I think anyone loading XML will automatically look at using XMLLoader without considering if that is the correct class for the job. thanks again
  10. Hi Jack, is there a way to stop XMLLoader automatically creating loaders from LoaderMax nodes in the XML? I had thought integrateProgress:false would do this, but not so. if i'm not missing something can i make a feature request to add something like: autoParse:Boolean=true to XMLLoader (default true for backward compatible)? many thanks brief example if it helps: XML (part of): AS: _configLoader = new XMLLoader(_configURL, {integrateProgress:false, onComplete:configLoadComplete}); _configLoader.load(); function configLoadComplete(e:LoaderEvent):void{ trace(LoaderMax.getLoader('font.swf')) //unexpectedly the SWFloader has been created, though the load was not started, so its just an empty loader. } //as the SWFLoader has been created but not loaded //we can't do something like this later on if/when required: if( ! LoaderMax.getLoader('font.swf') ){ //go get it }else{ //use the file in LoaderMax }
  11. Jack I have since updated to CS5 and the error is no longer present. this does point to it being a flash CS4 IDE bug as that was the only place it ever came up. many thanks for checking all the same.
  12. jack, I seem to be having this problem too. it may be flash IDE related as the stackoverflow link above suggests, as it does'nt seem to happen when i test in firefox with flash debug player (10.2) even so it really does not help development. Basically, I have an 'application' swf that loads a 'module' swf and an jpeg [via Loadermax], then the module swf calls the static Loadermax.getContent() to find and display the preloaded image. the image appears so everything is fine to this point, but when i navigate away from that module swf to another [blank] module swf i get the error: "Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed." this only happens once, so going back and forth between those modules again causes no errors. also the error does not happen at all if i comment out the Loadermax.getContent(img) and addchild(img); I am listening for your onError event, so am handling errors at that level, and as everything displays as expected the load works! further, everything is running from desktop, so 'load never completed' is even stranger. what's even more annoying is that as the load error happens it causes a completely unrelated issue... i have a Timer running to display a clock, after the error event the clock stops and does not restart [my 'application' still runs though so no crash]. obviously that timer is nothing to do with loading or your Loadermax [classes are not related in any way], i expect its the flash player doing something weird at the time of the 'unhandled error'. any ideas?
  13. Hi Jack, beyond hardcoding 'estimatedbytes' have you tried using URLStream to retrieve the file's totalBytes prior to doing the actual load using the correct/relevent flash loading class? Unlike the Loader and URLLoader classes URLStream can be cancelled immediatley with no further loading overhead which means its great for optaining this information, and the time that this quick request takes even on a larger queue is all but unnoticable! The simpleset way i've found in my development is where you set the url to be loaded (in the constructor), start a URLStream, then use the onprogress event to get the totalbytes (evt["bytesTotal"]). Save that information and immediately cancel the URLStream, marking the loader's state as ready. This would also need to be handled in the URLStream's oncomplete event in case it's a very small file loading on a fast connection. For individual loads this maybe isn't of great use so could be turned on and off via a preloadTotalBytes:Boolean variable in the constructor, but where you have a queue to load (LoaderMax), you can loop through all its internal loaders to check their totalbytes before beginning the load or displaying a preload graphic. here's a quick rendition if you've not already looked into it: public loaderconstructor(fileURL, preloadBytesTotal:Boolean=false){ _file = fileURL; if(preloadBytesTotal){ getFileInfo(); }else{ _readyToLoad = true; } } protected function getFileInfo():void{ _fileInfoStream = new URLStream(); _fileInfoStream.addEventListener(ProgressEvent.PROGRESS, getFileInfoProgress, false, 0, true); _fileInfoStream.addEventListener(Event.COMPLETE, getFileInfoProgress, false, 0, true); _fileInfoStream.addEventListener(IOErrorEvent.IO_ERROR, getFileInfoError, false, 0, true); _fileInfoStream.addEventListener(SecurityErrorEvent.SECURITY_ERROR, getFileInfoError, false, 0, true); _fileInfoStream.load(new URLRequest(_file)); } protected function getFileInfoProgress(e:*):void { _bytesTotal = e["bytesTotal"]; _fileInfoStream.close(); removeEventListeners(); _fileInfoStream = null; _readyToLoad = true; } protected function getFileInfoError(e:*):void { removeEventListeners(); try{ _fileInfoStream.close(); }catch(e:*){}; _fileInfoStream = null; /* you could dipatch/report the error, but as this is a hidden process and given that at this point the developer may not have called the load() method to start the real load, it may be better to dismiss/subdue it for now and let the error happen again during the real load to be reported and handled at that time. */ _readyToLoad = true; } public function load(){ /* based on my scenario of not reporting the error in getFileInfoError() */ if (!_readyToLoad){ start a timer to check till its true }else{ do the real load } }