# Quick method question

**URL:** <https://forum.kirupa.com/t/quick-method-question/262883>\
**Category:** flash\
**Created:** [June 10, 2008, 7:22pm UTC](https://forum.kirupa.com/t/quick-method-question/262883 "2008-06-10T19:22:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![substance](https://avatars.discourse-cdn.com/v4/letter/s/c6cbf5/32.png) [@substance](https://forum.kirupa.com/u/substance)\
**Post date:** [June 10, 2008, 7:22pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/1 "2008-06-10T19:22:00Z")

</div>

I made a method for applying force to x and y velocities of an object:

```php
public function applyForce(_xForce:Number = null,_yForce:Number = null):void	
{
	if (_xForce)
	{
		velocity.x *= _xForce;	
	}
	if (_yForce)
	{
		velocity.y *= _yForce;	
	}
}

```

So if I wanted to only apply xForce I would do a call like :

```php
applyForce(xForce);

```

But what if i only wanted to apply yForce? I tried:

```php
applyForce(,yForce);
//or
applyForce(null,yForce);

```

---

<div class="post-metadata">

**Author:** ![Dom\_1](https://avatars.discourse-cdn.com/v4/letter/d/df788c/32.png) [@Dom\_1](https://forum.kirupa.com/u/Dom_1)\
**Post date:** [June 10, 2008, 7:36pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/2 "2008-06-10T19:36:07Z")

</div>

why not abstract them into two methods ?

---

<div class="post-metadata">

**Author:** ![substance](https://avatars.discourse-cdn.com/v4/letter/s/c6cbf5/32.png) [@substance](https://forum.kirupa.com/u/substance)\
**Post date:** [June 10, 2008, 9:18pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/3 "2008-06-10T21:18:36Z")

</div>

Well it’s more of a hypothetical question if anything. I’m just wondering if it is possible.

---

<div class="post-metadata">

**Author:** ![Iamthejuggler](https://avatars.discourse-cdn.com/v4/letter/i/ecc23a/32.png) [@Iamthejuggler](https://forum.kirupa.com/u/Iamthejuggler)\
**Post date:** [June 10, 2008, 9:28pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/4 "2008-06-10T21:28:22Z")

</div>

No, you have to specify the variables up to and including the one you actually want to specify even when giving them defaults in the constructor. It’s kinda annoying.

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [June 10, 2008, 9:59pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/5 "2008-06-10T21:59:47Z")

</div>

It’s possible… if you don’t mind passing a cardinal value of some sort as the first argument:

```auto
public function applyForce(_xForce:Number = NaN,_yForce:Number = NaN):void    
{
    if(!isNaN(_xForce))
    {
        velocity.x *= _xForce;    
    }
    if (!isNaN(_yForce))
    {
        velocity.y *= _yForce;    
    }
} 

```

You could also just pass 1, since that would be a more logical value (and you could check for it, too). _null_ usually refers to an Object reference of some sort, and while Numbers are Objects, they are also primitives so you can’t really have a _null_ primitive reference.

---

<div class="post-metadata">

**Author:** ![Fidodo](https://avatars.discourse-cdn.com/v4/letter/f/779978/32.png) [@Fidodo](https://forum.kirupa.com/u/Fidodo)\
**Post date:** [June 10, 2008, 10:57pm UTC](https://forum.kirupa.com/t/quick-method-question/262883/6 "2008-06-10T22:57:37Z")

</div>

Well for this particular example I’d say apply both forces every time, but default the value to 1, since x\*1=x  
But you’re asking about how to do this in general cases?
