Re: [Flashcoders] maths query

2009-02-06 Thread allandt bik-elliott (thefieldcomic.com)
thanks glen

a

On Thu, Feb 5, 2009 at 6:29 PM, Glen Pike postmas...@glenpike.co.uk wrote:

 Hi,

   It looks better than my deadzone calc's which take up a lot more code (I
 have 2 directions and a deadzone area in the middle and around the outside
 of the mouse area controlling the velocity), but you are welcome to
 compare below - I think mine is a bit more verbose, but I was trying to make
 sure I could debug and come back to it in a few months time and understand.
  Whatever works for you I guess.

   Glen


private function _mouseMoveHandler(event:MouseEvent):void {
   var tmpX:Number;
   var tmpY:Number;
   //Get x, y in relation to centre of stage - need to clamp
   tmpX = this.mouseX - WIDTH / 2;//event.stageX -
 this.stage.stageWidth / 2;
   tmpY = this.mouseY - HEIGHT / 2;//event.stageY -
 this.stage.stageHeight / 2;
   var absX:uint = Math.abs(tmpX);
   var absY:uint = Math.abs(tmpY);
   var dirX:int = tmpX / absX;
   var dirY:int = tmpY / absY;
   //clamp the movement to a maximum;
   tmpX = Math.min(_clampMax, absX) * dirX;
   tmpY = Math.min(_clampMax, absY) * dirY;
   //App.debug(mouse  + this.mouseX + ,  + this.mouseY +  tmp
 + tmpX + ,  + tmpY +  abs  + absX + ,  + absY);
 //only respond to a minimum position from centre within
 our square..
   if (_clampMax = absX || _clampMax = absY) {
   _mouseClamp = true;
   return;
   }
   _mouseClamp = false;
   if(_clampMin  absY) {
   _velX = (absY * dirY) / _mouseDamping;
   } else {
   _velX = 0;
   }
 if(_clampMin  absX) {
   _velY = -((absX * dirX) / _mouseDamping);
   } else {
   _velY = 0;
   }
   //App.debug(mouse Move  + _velX + ,  + _velY);

   }


 allandt bik-elliott (thefieldcomic.com) wrote:

 hi guys

 I'm working on a carousel and i have a quick question about adding a
 non-active area in the middle

 at the moment, the carousel will move forward and backward based on the
 mouse's position in relation to the center of the carousel but I'd like to
 widen that by nDeadzoneRadius

 here is the way that i'm doing it at the moment - it seems very clunky to
 me
 but it's doing the job

 this is on the onMouseMove listener

private function adjustSpeed():Void
{
var nMousePos:Number = _root._xmouse - nCenterX;

 // !HACK! this is the bit i'm querying
if (Math.abs(nMousePos)  nDeadzoneRadius) nMousePos = 0;
else nMousePos = (nMousePos  0) ? nMousePos - nDeadzoneRadius :
 nMousePos + nDeadzoneRadius;
 // end of !HACK!

nSpeed = nMousePos / ((36 / _nNumberOfItems) * 1000); //4:800,
 8:4000, 12:3000, 24:1500
}

 so i guess my question is, is there a more elegant solution to this,
 please?

 ta
 a
 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders





 --

 Glen Pike
 01326 218440
 www.glenpike.co.uk http://www.glenpike.co.uk

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] maths query

2009-02-05 Thread allandt bik-elliott (thefieldcomic.com)
hi guys

I'm working on a carousel and i have a quick question about adding a
non-active area in the middle

at the moment, the carousel will move forward and backward based on the
mouse's position in relation to the center of the carousel but I'd like to
widen that by nDeadzoneRadius

here is the way that i'm doing it at the moment - it seems very clunky to me
but it's doing the job

this is on the onMouseMove listener

private function adjustSpeed():Void
{
var nMousePos:Number = _root._xmouse - nCenterX;

// !HACK! this is the bit i'm querying
if (Math.abs(nMousePos)  nDeadzoneRadius) nMousePos = 0;
else nMousePos = (nMousePos  0) ? nMousePos - nDeadzoneRadius :
nMousePos + nDeadzoneRadius;
// end of !HACK!

nSpeed = nMousePos / ((36 / _nNumberOfItems) * 1000); //4:800,
8:4000, 12:3000, 24:1500
}

so i guess my question is, is there a more elegant solution to this, please?

ta
a
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] maths query

2009-02-05 Thread Glen Pike

Hi,

   It looks better than my deadzone calc's which take up a lot more 
code (I have 2 directions and a deadzone area in the middle and around 
the outside of the mouse area controlling the velocity), but you are 
welcome to compare below - I think mine is a bit more verbose, but I was 
trying to make sure I could debug and come back to it in a few months 
time and understand.  Whatever works for you I guess.


   Glen


private function _mouseMoveHandler(event:MouseEvent):void {
   var tmpX:Number;
   var tmpY:Number;
   //Get x, y in relation to centre of stage - need to clamp
   tmpX = this.mouseX - WIDTH / 2;//event.stageX - 
this.stage.stageWidth / 2;
   tmpY = this.mouseY - HEIGHT / 2;//event.stageY - 
this.stage.stageHeight / 2;

   var absX:uint = Math.abs(tmpX);
   var absY:uint = Math.abs(tmpY);
   var dirX:int = tmpX / absX;
   var dirY:int = tmpY / absY;
   //clamp the movement to a maximum;
   tmpX = Math.min(_clampMax, absX) * dirX;
   tmpY = Math.min(_clampMax, absY) * dirY;
   //App.debug(mouse  + this.mouseX + ,  + this.mouseY +  
tmp + tmpX + ,  + tmpY +  abs  + absX + ,  + absY);
  
   //only respond to a minimum position from centre within our 
square..

   if (_clampMax = absX || _clampMax = absY) {
   _mouseClamp = true;
   return;
   }
   _mouseClamp = false;
   if(_clampMin  absY) {
   _velX = (absY * dirY) / _mouseDamping;
   } else {
   _velX = 0;
   }
  
   if(_clampMin  absX) {

   _velY = -((absX * dirX) / _mouseDamping);
   } else {
   _velY = 0;
   }
   //App.debug(mouse Move  + _velX + ,  + _velY);
   }


allandt bik-elliott (thefieldcomic.com) wrote:

hi guys

I'm working on a carousel and i have a quick question about adding a
non-active area in the middle

at the moment, the carousel will move forward and backward based on the
mouse's position in relation to the center of the carousel but I'd like to
widen that by nDeadzoneRadius

here is the way that i'm doing it at the moment - it seems very clunky to me
but it's doing the job

this is on the onMouseMove listener

private function adjustSpeed():Void
{
var nMousePos:Number = _root._xmouse - nCenterX;

// !HACK! this is the bit i'm querying
if (Math.abs(nMousePos)  nDeadzoneRadius) nMousePos = 0;
else nMousePos = (nMousePos  0) ? nMousePos - nDeadzoneRadius :
nMousePos + nDeadzoneRadius;
// end of !HACK!

nSpeed = nMousePos / ((36 / _nNumberOfItems) * 1000); //4:800,
8:4000, 12:3000, 24:1500
}

so i guess my question is, is there a more elegant solution to this, please?

ta
a
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


  


--

Glen Pike
01326 218440
www.glenpike.co.uk http://www.glenpike.co.uk

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders