[Flashcoders] Dragging a clip gives erratic ._x numbers
Heya folks, This is baffling me (and making me very annoyed), and I haven't found an answer elsewhere, so here goes... I have a main movie with a custom drag scrubber control. At the core of my app (Flash 8 Pro) is this scrubber that needs to simply return its position so I can use it to display the proper frame of a movie clip (with many frames). Problem is that dragging the scrubber in one direction very slowly will frequently get erratic and NOT just increase or decrease relevant to the drag direction. Now, I originally thought it could be poor rounding math code on my part, but I finally put a text counter on the screen that simply displays the value of mcTheMovieClip._x which is the dragged clip. Here's what I mean by erratic: Dragging from left to right, ._x reports: ..101, 102, 101, 102, 103, 104, .. What the friggin' poo?? What exactly causes a dragged movie clip to jump back/forth a pixel or two? It's making an accurate, consistently one-directional drag behavior to be roughly impossible! I'm miffed, but hopefully somebody has a clue on this and would be so kind as to throw down some helpful bits. Thanks! Paul Hoza ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Dragging a clip gives erratic ._x numbers
Thanks for the reply... I tried what you're suggesting and still see the problem. I decided to make a quick example to see if anyone can see a problem in what I'm doing (and a demonstration of said funkiness.) This is out of context, so I think it's working okay as a demo. The code is included in case it sheds any light... the sample is pulled right out of my app, so it's the same controller I'm using (out of context, so there were tweaks to get it working standalone.) http://www.gamedevschool.com/samples/flashcoders/dragproblems/dragproblems.html Code: http://www.gamedevschool.com/samples/flashcoders/dragproblems/dragproblems.zip Thanks for any more insights! Paul Mick G wrote: Perhaps it's doing some rounding because your mouse is sitting on half pixels and it's not noticeable to the eye (if that's even possible). Have you tried putting a Math.ceil around the _x values to see if it helps always round the value up? On 2/28/07, David Cohn [EMAIL PROTECTED] wrote: Paul, I know it's no help, but I recently ran into this also and never found a workaround... I'd love to know if you find one! --Dave Heya folks, This is baffling me (and making me very annoyed), and I haven't found an answer elsewhere, so here goes... I have a main movie with a custom drag scrubber control. At the core of my app (Flash 8 Pro) is this scrubber that needs to simply return its position so I can use it to display the proper frame of a movie clip (with many frames). Problem is that dragging the scrubber in one direction very slowly will frequently get erratic and NOT just increase or decrease relevant to the drag direction. Now, I originally thought it could be poor rounding math code on my part, but I finally put a text counter on the screen that simply displays the value of mcTheMovieClip._x which is the dragged clip. Here's what I mean by erratic: Dragging from left to right, ._x reports: ..101, 102, 101, 102, 103, 104, .. What the friggin' poo?? What exactly causes a dragged movie clip to jump back/forth a pixel or two? It's making an accurate, consistently one-directional drag behavior to be roughly impossible! I'm miffed, but hopefully somebody has a clue on this and would be so kind as to throw down some helpful bits. Thanks! Paul Hoza ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Dragging a clip gives erratic ._x numbers
Alain Rousseau wrote: checked your files and indeed the position was wrong if you dragged and droped too fast. I made a simple fix to your code and now it works nicely... Suhweeet... thanks a ton! That's very interesting. I'm much further towards the side of Flash Novice, but this bugger was really getting to me. Thanks also for pointing out Delegate.. another thing I'm realizing I should have implemented on another project. I recall a major problem I was having with scoping on another project and I'm going to have to revisit it using Delegate goodies. Nice. I really appreciate the time. I had stripped out a bunch of other code for this demo, so I'll roll this stuff into my main project and move on to the next bit of puzzlement. :) Regards, Paul ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Dragging a clip gives erratic ._x numbers
Wacky. Thanks for looking further into this. It's helping to understand the issues, for sure... not to say that I'm fully aware of what to do with this knowledge so far, but thanks. :) Paul John VanHorn wrote: here, i set the frame rate to 1, and tried to move the mouse 1 px persecond. i added traces for everything on both enterframe and mousemove events. you can start to see the asychronicity between setting the text and redrawing the stage: onEnterFrame mc._x: 3.45 _xmouse: 149 text: 4 onMouseMove mc._x: 3.45 _xmouse: 150 text: 4 onEnterFrame mc._x: 4.45 _xmouse: 150 text: 4 onEnterFrame mc._x: 4.45 _xmouse: 150 text: 4 onMouseMove mc._x: 4.45 _xmouse: 149 text: 5 onEnterFrame mc._x: 3.45 _xmouse: 149 text: 5 On 2/28/07, Alain Rousseau [EMAIL PROTECTED] wrote: onEnterFrame didn't give any better results either, it was definitely a case of how fast can Flash grab the exact _x postion when the button is released and the listener removed (or onEnterFrame deleted). Can't quite understand the logic of the sequence or timing, but it's definitely a case of asynchronous function call. John VanHorn wrote: this seems to be tied to using a mouse listener. onMouseMove is not synchronous with the frame rate, so it can fire more than once in between framesthat being said, it still doesnt make sense that the _x seemingly increases if you drag left. if you use good ole onEnterFrame, everything works fine. ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
[Flashcoders] Re: Using transform with a clip loaded during runtime..
Well, if anyone is trying to understand this post... if it even got sent, that is (I need to set the list admin to send me confirmation)... I've basically figured out the problem with transforms in a loaded clip: I've moved ALL the code for creating Transforms and ColorTransforms into the external movie completely. The only thing that gets done at the root app is setting some variables for the RGB values... I then pull in those vars in the external SWF and do the transforming in there. (ie: colorTrans.rgb = _global.thisThingsColorHexValue ) I gave up trying to control the transforms from the root app, but I'd still love to know if that's possible in this case. If anyone has insight, I'd still like to hear it. However, hopefully someone gets some helped by my couple quick posts. Thanks! Paul Paul Hoza wrote: Hey folks, I haven't been a member of this list long, but love the opportunity to learn from you folks. Please go easy on me as I'm not much of a Flash expert here and this is my first post on the list. I have been searching for this problem I'm having and hopefully someone has some insight. Please take a gawk? I have a main app (AS2, Flash 8) that loads up an external SWF at runtime. The root app has a panel of buttons that each have color transforms applied to their background colors (each is an instance of a library clip with a background color clip set to transform). Basically, the intent is to be able to change their colors at runtime, so I did my first foray into Transforms with this project. So... I also want to take the color used for the buttons and apply them to clips that are inside an external SWF that is loaded during runtime. Thus, _root.button1 has a color transform set at initialization to an RGB value. What I want to do is apply the same color transform to _root.loadedMovie.someMovieClip . I had all the transforms working great inside the _root app, but once I tried transforming stuff inside the loaded movie clip, I am having no luck. I think it's mainly (only??) a scope issue, since I've done a trace(this); from inside the external SWF and when the root app runs, I see _level0.container.instance2 (container is where the SWF is loaded, of course). So, I'm having trouble understanding where instance2 gets decided, and how to control that so I can get to clips inside there... ie: _level0.container.instance2.myMiscMC ??? Every time I re-load the SWF (by clicking a load movie type button from _root), the instance gets updated... so it could be instance12 after a while, for instance. (Gah! pun NOT intended) Well.. I'm having trouble asking this question, since I'm not sure what to ask. Please let me know if anyone has some idea of what is going on here. I'll expand on the issue as I get some direction about what other info you need. I've tried placing some of the transform initialization code inside the external SWF itself... I'm not getting my head wrapped around why I would do that, though. It seems like the root app should create/control the transforms. Bah. Well, I'll see if anyone bites. Thanks HUGE for any help!! Best Regards, Paul Hoza ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
[Flashcoders] Using transform with a clip loaded during runtime..
Hey folks, I haven't been a member of this list long, but love the opportunity to learn from you folks. Please go easy on me as I'm not much of a Flash expert here and this is my first post on the list. I have been searching for this problem I'm having and hopefully someone has some insight. Please take a gawk? I have a main app (AS2, Flash 8) that loads up an external SWF at runtime. The root app has a panel of buttons that each have color transforms applied to their background colors (each is an instance of a library clip with a background color clip set to transform). Basically, the intent is to be able to change their colors at runtime, so I did my first foray into Transforms with this project. So... I also want to take the color used for the buttons and apply them to clips that are inside an external SWF that is loaded during runtime. Thus, _root.button1 has a color transform set at initialization to an RGB value. What I want to do is apply the same color transform to _root.loadedMovie.someMovieClip . I had all the transforms working great inside the _root app, but once I tried transforming stuff inside the loaded movie clip, I am having no luck. I think it's mainly (only??) a scope issue, since I've done a trace(this); from inside the external SWF and when the root app runs, I see _level0.container.instance2 (container is where the SWF is loaded, of course). So, I'm having trouble understanding where instance2 gets decided, and how to control that so I can get to clips inside there... ie: _level0.container.instance2.myMiscMC ??? Every time I re-load the SWF (by clicking a load movie type button from _root), the instance gets updated... so it could be instance12 after a while, for instance. (Gah! pun NOT intended) Well.. I'm having trouble asking this question, since I'm not sure what to ask. Please let me know if anyone has some idea of what is going on here. I'll expand on the issue as I get some direction about what other info you need. I've tried placing some of the transform initialization code inside the external SWF itself... I'm not getting my head wrapped around why I would do that, though. It seems like the root app should create/control the transforms. Bah. Well, I'll see if anyone bites. Thanks HUGE for any help!! Best Regards, Paul Hoza ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com