transform in a custom class

Hello everybody, this is my first post, I’m new in Unity and also in programing, then the cuestion is:

I’m trying to scale a game object, then i have the next code:

import System.IO;
import System.Threading;

#pragma strict
#pragma implicit
#pragma downcast

class mainHelper extends Behaviour{

	public function gameObjectFullScreen(){
	
		var w:float = Screen.width;		
		var h:float = Screen.height;
		var r:float = w/h;
		
		Debug.Log(r);
		
		//this.transform.localScale = Vector3(r,1, 1);
		transform.localScale.x = r;
	
	}

    
    
}

And then in the gameObject script i have this other one code:

var fullScreen = mainHelper();	
fullScreen.gameObjectFullScreen();

And this is the error:

NullReferenceException
mainHelper.gameObjectFullScreen () (at Assets/0scripts/class/mainHelper.class.js.js:25)

Please can someone helpme?

Thanks a lot since now.

First you shouldn’t derive your classes from any class that comes with Unity except MonoBehaviour and ScriptableObject (at least for runtime classes). You derived your class from Behaviour which is the base class for MonoBehaviour and all built-in behaviour components. Behaviour itself is derived from Component and components can never be created like normal classes (with the “new” keyword which you can omit in UnityScript).

The only way to create Components at runtime is to use AddComponent on a GameObject.

I’m not sure that your script should actually do. It seems you want to scale something according to the screen aspect ratio, but the way you try to use your class makes no sense at all. Can you add some more details on what you want to do?

Btw. scripts don’t “have” a Transform. All Components, MonoBehaviour scripts included, have “shortcut properties” (transform is one of thwm) to make it easy to access built-in Components on the same GameObject to which the script is attached to. transform is the same as GetComponent(Transform). So these two lines do exact the same:

    transform.position = XXX;
    GetComponent(Transform).position = XXX;

As last hint classnames should always start with a capital letter as well as function names.

Bunny83, tanks a lot for your response, and I’m sorry for my late response!

Yes, you are right, I want scale a game object to fullscreen in “x” coordenate, then the are several game objects for this reason i want do it with oop.

Thanks for the Capital Leter tip.