Jump to content
Search Community

Vicware

Members
  • Posts

    50
  • Joined

  • Last visited

Posts posted by Vicware

  1. Jack and friends -

     

    I just want to thank GreenSock. I've done some dozen projects over the last couple years.

    They all use max/lite/timeline for parts of every one.

     

    I finally got up my new home page (first revamp in 10 years). I always push the limits

    of software. On my 3ghz (w/9400GT card) it runs ok, but anything slower than that is

    not great, but that's ok. I built my new web site for things going forward.

     

    www.vicware.com

     

    Thank you very much. I'm a big fan of your product and especially your support.

     

    Vic

  2. That's incredible.

     

    YOU'RE THE MAN!

     

    That's what I call support. It wasn't that big a deal and I accepted that

    it was likely it was just going to be a limitation, but perhaps you figured

    out quickly you could add this behavior for blendMode without too much

    trouble.

     

    You can see it in the attached swf, which I'm still putting together.

    (The big "PHOTOGRAPHY" at the top). Like I said, still working on it.

     

    SUPER - THANK YOU,

     

    Vic

  3. When I setup a textfield and describe a blendmode for it, and then assign

    a blitMask, the blitmask works fine with scrollx, etc., but the blendmode is gone.

    If I bypass the blitmask, the blendmode works fine.

     

    I saw in the API that there are some things that won't work with blitmask (i.e. kerning) but

    didn't see anything about blendmodes being nullified. Blendmodes do not work

    when you're using blitmask on objects?

     

    Thanks -

    Vic

     

    After several more hours on this, I pretty well confirmed that blendmodes just don't

    work while the mc is blitmask'd. If I animate the mc, and at the end have

    onComplete:blitMaskA.disableBitmapMode, the blendmode effect instantly reappears.

    That is an acceptable limitation. I'll just do my thing a different way.

     

    Vic

  4. I wasn't asking for validation of any specific code. I just wanted to make sure I understood

    what the code can and cannot do, as far as performance. That was good you confirmed

    that the pngs are not recognized for anything but another bitmap, and that my assumption

    that this was going to be faster than having dynamic dropshadows was correct. The posts

    the last 24 hours have been very helpful to me.

     

    btw, there is a slight performance difference between IE and FF. I also tried running this

    in Safari, which I don't normally test for, and it was horrible. I guess that's why I don't

    care very much about Safari.

     

    Thanks for your help.

     

    Vic

  5. UPDATE:

     

    I spent the last 24 hours trying to find the best solution for getting

    the smoothest tweening I could get for this swf.

     

    It started off badly, because when I went to increase fps it had no effect

    and I couldn't understand why. I haven't done too many nested swfs inside a

    main swf - I was unaware that any child swfs get their fps from the root, mother

    swf and ignores the fps set for any individual, child swf.

     

    That, of course, screwed up the timing of my other child swfs and I couldn't afford

    to raise the fps too far, so after experimenting between 30-100 fps, I settled on

    40fps, which was the best compromise between everything going on.

     

    The main problem I have with this is I need to have a dropshadow for each image,

    and when you use any of the filters, the element is cacheAsBitmap'd. I understand

    from your last post that I can't take advantage of the sub-pixel smoothing with

    BlitMask because if the image has a filter attached to it, cacheAsBitmap is turned

    on, and I can't get the sub-pixel smoothing I want when the tween runs.

     

    So, I spent a bunch of time and changed all my images to PNGs, with the dropshadow

    as part of the image, and therefore I could get rid of all the dropshadow assignments

    in my AS3. Theoretically that should allow me to get the full benefit of the sub-pixel

    rendering as the clips slowly move down the screen.

     

    I'm not sure how using semi-transparent images (the pngs) is implemented in flash.

    Perhaps in theory it's no faster than having the dropshadows implemented in AS3, or

    maybe images with transparencies are automatically cacheAsBitmap'd maybe.

     

    All the work I've been doing and referring you to has been standalone, but this swf is

    part of a larger "show" of swfs that I'm assembling for my unpublished home page. You

    can see this at: http://www.vicware.com/mainsite/vicware1.html

    It's the third swf that runs (at the top of the page). You can see I have another constantly

    running swf (the atom) which is competing for cpu cycles, I'm sure.

     

    Aside from my query about transparent pngs as the source, I'm hoping you would

    look at this and tell me if you think I'm doing the best you can do with these

    animations, under the circumstances.

     

    Thanks, once again, for your time.

     

    Vic

  6. A fabulous response - thank you. I knew the best results I got for doing this particular

    animation was with blitMask. I've been trying to keep my swfs running at 30fps, and

    for some reason it didn't occur to me to try upping the frame rate to see if i get

    smoother performance. Also I'll immediately do the update.

     

    Once again, I have to say how pleased I am with your support.

     

    I'll post results.

     

    Vic

  7. I just went back and did the same thing as you did, as a doublecheck of what I had

    done previously...

     

    There is a significent quality difference, at least as it looks

    here, of the images being tweened via blitMask than it does with any

    other method. I know it wasn't exactly meant for what I'm using it for, but

    I experimented with every method - scrollRect, transformMatrix, and just

    plain tweening like you did, and the smoothest result I get is using blitMask

    to describe the images with the subtle, slow tweening I'm doing is significently

    smoother using this method.

     

    I would be surprised if you didn't see the performance difference between using my

    blitMask method compared to just regular tweening. Please remember you have to see this

    running from the swf - not the Flash IDE to see the true results.

     

    I know you put some time in looking at my code. Thank you very much for that.

     

    Vic

  8. I'm working on this swf. I'm wondering if there's anything else I can do to

    smooth out the motion of the BlitMasks - it doesn't look terrible, but I do

    get occasional jitters. I may be pushing this tool further than it's meant to go.

    As far as tweenLite in general, I'm not doing anything different or special.

    The compiled swf runs much smoother than it does in the Flash IDE.

     

    I'm not worried about the loading process - I might use LoaderMax or maybe leave

    it as it is, but I'm just want to know if I'm missing anything as far as making the animation

    as smooth as possible. Please tell me what you think.

     

    Thank you,

    Vic

  9. Well, Carl - I couldn't get it to work in my code, so I made

    a simple proof (I attached it for any other needy users).

     

    Of course, it worked perfectly.

     

    In my code I did everything as you have it. No matter what I do, the line

    tempLoader.rawContent.rollGO.play(); keeps giving me the same error:

    #1009 Cannot access a property or method of a null object reference.

     

    I can't understand why I'm getting this. The only thing that is a little different

    is that I make the container for the parent SWFLoader a movieclip (so I can

    adjust its position) like so:

     

    tempLoader = new SWFLoader(addTemp, {name:addTemp, estimatedBytes:40000, onComplete:compSWF, container:bitTmpSWF});

     

    I'm not sure if this effects the tempLoader.rawContent.rollGO.play() function.

     

    I've tried lots of things like bitTmpSWF.play(); , etc.

     

    So other than that I don't know what to do. The code for this is much to much to

    have you bothered looking at it. Don't know if I can make a pared down version.

     

    If you have any other ideas, please let me know.

     

    Thanks -

    Vic

  10. If you wanted to get the swf to play when you call

    calledFromMain() from the main swf, how do you do that?

     

    i.e.:

    rollGO = new TimelineMax({paused:true, onComplete:rollDone}); yada yada...

     

    function calledFromMain():void{

    rollGO.play();

    trace("calledFromMain");

    }

     

    This of course doesn't work. No matter what I do (i.e. making rollGO public, etc.)

    I can't get rollGO to be recognized as anything but null within calledFromMain() function.

     

    I need for the main swf to tell the sub-swf to play itself. Can't figure it out. Help.

     

    Thanks -

    Vic

  11. The paused:true solved my problem of keeping the swf from playing automatically.

     

    But, this problem of telling the swf you want to play is a big problem.

     

    rollGO is in the swf. The swf is loaded from my document class with swfLoader.

    When onComplete is fired after the swf is loaded, it goes there and makes the

    swf into the mc, and then displays it. That all works fine:

     

    private function compSWF(evt:Event):void {

    bitTmpSWF = evt.target.rawContent as MovieClip;

    bitTmpSWF.x = 10; bitTmpSWF.y = 9; trace("Hello");

    addChild(bitTmpSWF); //bitTmpSWF.rollGO.play(); (your suggestion)

    }

     

    Except, like you said, the function has no idea what rollGO is - rollGO is in the swf.

     

    I've spent over the last 3 years so many late hours figuring out how to get variables shared

    and/or passed between classes. But this is different, because this in in a loaded swf, not

    another class. So just making rollGO public won't work as far as I know.

     

    I thought of some convoluted code that would signal the html via ExternalInterface/javascript to then communicate

    to the swf through vars or whatever to tell it to play, but I have no idea if that would work.

     

    I was just wondering if you have any ideas on this?

     

    Thanks, again -

    Vic

  12. Great information. Thank you for all the time you put in to give me

    some of the intricacies of how to get done what I need to do.

     

    It seems about a couple times a year when I venture into new areas of the TM universe

    I run into problems that stem more from the conceptual rather than the syntactical.

     

    I might have one more question about combining append, insert, etc on the timeline.

    I'll try to trudge forward and figure it out.

     

    Thanks for your help.

     

    Vic

  13. I should also add to the previous post that the onComplete function goes to:

     

    private function compSWF(evt:Event ):void {

    bitTmpSWF = evt.target.rawContent as MovieClip;

    bitTmpSWF.x = 10; bitTmpSWF.y = 9;

    addChild(bitTmpSWF); //bitTmpSWF.play();

    }

     

    Notice that bitTmpSWF.play(); is commented out - the swf should not play, but it does.

     

    Vic

  14. I basically understand, although it is confusing to my tired mind.

    Thank goodness you gave me the solution to one problem I've been struggling with for the last 24 hours..

     

    How about my other question - about .play(); : When I load this swf into my master loop

    that plays through a list of images and other swfs, when this swf is loaded it just starts playing:

     

    var tempLoader:SWFLoader = new SWFLoader(addTemp, {name:addTemp, estimatedBytes:37000, autoPlay:false, onComplete:compSWF});

    tempLoader.load();

     

    Is there any way to stop a swf from playing automatically after you load it?

     

    Thanks so much for looking at my script.

    Vic

  15. ok - I went through the trouble of creating a simple test program to see why

    I'm getting the error:

     

    TypeError: Error #1009: Cannot access a property or method of a null object reference.

    at com.greensock::TimelineLite/insert()

    at com.greensock::TimelineLite/insertMultiple()

    at com.greensock::TimelineLite/appendMultiple()

    at comSlide/aniEngineA()

    at comSlide/init()

    at comSlide()

     

    every time I run this - right at the beginning of the tween, this happens.

     

    I'm attaching the demo file. With this you should be able to tell me what I'm doing

    wrong, or if there's a bug in the library.

     

    Thanks -

    Vic

  16. I have good news and bad news.

     

    I'm using:

     

    var stf1:SplitTextField = new SplitTextField(introWordA); //(introWordA and introWordB are standard TextFields)

     

    var rollGO:TimelineMax = new TimelineMax({onComplete:rollDone});

    rollGO.appendMultiple([TweenMax.allFrom(stf1.textFields, 1, {blurFilter:{blurX:10, blurY:16}, y:"-200", autoAlpha:0, ease:Strong.easeOut}),

    TweenMax.to(introWordB, .5, {alpha:1, delay:1, ease:Linear.easeOut})]);

     

    //rollGO.play();

     

    This works perfectly using appendMultiple - both tweens do what they are supposed to do..

    BUT, there are 2 problems:

     

    1. When the first tween first starts, I get this error pop up in the output window:

    TypeError: Error #1009: Cannot access a property or method of a null object reference.

    at com.greensock::TimelineLite/insert()

    at com.greensock::TimelineLite/insertMultiple()

    at com.greensock::TimelineLite/appendMultiple()

    at comSlide/aniEngineA()

    at comSlide/compHandler()

    at flash.events::EventDispatcher/dispatchEventFunction()

    at flash.events::EventDispatcher/dispatchEvent()

    at com.greensock.loading.core::LoaderCore/_completeHandler()

    at com.greensock.loading::LoaderMax/_loadNext()

    at flash.events::EventDispatcher/dispatchEventFunction()

    at flash.events::EventDispatcher/dispatchEvent()

    at com.greensock.loading.core::LoaderCore/_completeHandler()

    at com.greensock.loading::SWFLoader/_completeHandler()

     

    2. Do you notice that the play command rollGO.play(); is commented out? That's because the

    tween starts without it - every time! Can you explain to me why the timeline runs without the

    .play??

     

    Thank you very much for your help.

    Vic

  17. I think I'm missing something. When I run this snippet of code:

     

    // introWordA is a standard TextField

    var stf1:SplitTextField = new SplitTextField(introWordA);

     

    var rollGO:TimelineMax = new TimelineMax({onComplete:rollDone});

    rollGO.append(TweenMax.allFrom(stf1.textFields, 0.5, {alpha:1}));

    rollGO.play();

     

    I get 1067: Implicit coercion of a value of type Array to an unrelated type com.greensock.core:TweenCore.

     

    When I change the ".allFrom" to ".to", it works fine.

     

    I spent hours searching docs whether there is a prohibition on using SplitTextField with allFrom appended to a timeline.

    What am I doing wrong here? I might not be getting the logic completely.

     

     

    In a possibly seperate issue: When I do this:

     

    var rollGO:TimelineMax = new TimelineMax({onComplete:rollDone});

    rollGO.append(TweenMax.to(stf1.textFields, 1, {blurFilter:{blurX:10, blurY:16}, y:"200", autoAlpha:0, ease:Strong.easeOut}));

    rollGO.play();

     

    I get a series of errors, (presumably during the tweening update cycle):

     

    TypeError: Error #1009: Cannot access a property or method of a null object reference.

    at com.greensock.plugins::FilterPlugin/initFilter()

    at com.greensock.plugins::BlurFilterPlugin/onInitTween()

    at com.greensock::TweenLite/init()

    at com.greensock::TweenMax/init()

    at com.greensock::TweenMax/renderTime()

    at com.greensock::TimelineMax/renderTime()

    at com.greensock.core::SimpleTimeline/renderTime()

    at com.greensock::TweenLite$/updateAll()

     

    but when I replace "stf1.textFields" with "introWordA" (standard textfield), it works fine!

     

    Can you tell me what rules I'm missing about using this stuff together - I'm sorry for

    not finding it in the docs.

     

    Thanks -

    Vic

  18. Jack -

     

    They call me Vick Tracy - I use trace so much for debugging and development

    because I do pure AS3 and I work in an external text editor. I spent days making

    sure that code is working in an orderly fashion, and all the timing was correct. I

    did some experimenting with kill(), which did not help my situation.

     

    I do see what you mean. I checked that the order of the tweens were correct and everything

    was working in the right order. Many times.

     

    Actually, random thoughts were all I was looking for from the gitgo - I wasn't expecting

    anyone to start debugging code for me. So I'm sorry if I got you upset yesterday. I was

    just looking for something that maybe appeared before from other users.

     

    I have it working now with my little kluge of a solution: http://www.coulterflow.com/bciflow/vic/IFG/ifg.html

     

    I'm working on my new web site - not public yet: http://www.vicware.com/mainsite/vicware1.html

    Most of the site and linked projects use your stuff.

     

    Thank you -

    Vic

  19. I took the time to make a small fla that inserts a bunch of tweens in a for loop

    and then appends an additional tween after the loop is done. I can not duplicate the

    problem, as I suspected would be the result. But I'm doing the same thing in my script yet

    it always fires the last onComplete before the last tween is done. So I don't know how to explain it.

     

    I got around this by giving the last appended tween(after the loop loader), it's own onComplete,

    which works fine and gives me the true trigger for when the whole timeline is complete. I

    haven't seen any negative posts or docs regarding having onComplete's for both the timeline and an

    individual tween loaded into the timeline. I'm actually using this in a couple other apps

    which seem to work fine.

     

    Thank you for your help today.

     

    Vic

×
×
  • Create New...