Jump to content

  • Log In with Google      Sign In   
  • Create Account

Sharing gameobjects, variables, strings between scripts


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Sugavanas   Members   -  Reputation: 200

Like
0Likes
Like

Posted 04 May 2013 - 02:28 PM

Hello guys, i am trying to share things between scripts. The first thing i would like to share is a type of level:

I have two levels, main menu and one game level. So the thing is the player selects a type of level in the main menu (like what type of models to use). There are total two type of different models. So now when the player clicks play after selecting the model, i want the script in the game level to receive the type of model information.

in this case, lets take it theme1 and theme2.

So if the player checks theme1, i want the script in this level to make a variable called result and point it to a script called TypeTheme1.
now, in the script whenever i point result i will get the things from TypeTheme1 scripts.

Now i can do with changing the models.



Second is how do i share gameobjects models which are public

so i have a script,

 

public GameObject m_Straight_S_Tile;

public GameObject m_Left_S_Tilee;
 
public GameObject m_Right_S_Tile;
 
public GameObject m_T_S_Tile;
 
public GameObject m_Jump_S_Tile;

public GameObject m_Obstacle_S_Tile;

 

now in the inspector i have choosed the models for the script directly into the script import setting. 

So, now in the other script if I add the scripts name can i access the gameobjects which are public and in some cases also public floats, vaiables and function.





i don't need the gameobject.find("")getcomponent<>;
it's because this things are in different levels.

I am actually connecting between scripts but can't s but get this done, i think i won't use that scripts in any object and use one main script to get the public functions from the script.

It's important as i need to share between highscore, store items and many.

Need it in C#
and if you know it in .js, add it too, i can translate a little

 

 



Sponsor:

#2 rip-off   Moderators   -  Reputation: 8222

Like
0Likes
Like

Posted 04 May 2013 - 03:38 PM

I'm finding it difficult to understand your question. In particular, your use of the word "script" is confusing. Are you talking about using C# as a scripting language? Or is a "script" a file containing C# code? Perhaps you're using it to mean a class, or a function/method?

 

I would recommend describing your game a little first, then asking your question with reference to the actual, concrete things and concepts in the game.



#3 Sugavanas   Members   -  Reputation: 200

Like
0Likes
Like

Posted 05 May 2013 - 01:07 AM

I'm finding it difficult to understand your question. In particular, your use of the word "script" is confusing. Are you talking about using C# as a scripting language? Or is a "script" a file containing C# code? Perhaps you're using it to mean a class, or a function/method?

 

I would recommend describing your game a little first, then asking your question with reference to the actual, concrete things and concepts in the game.

 

he game is alike temple run, but don't need to see that as the question i am asking can be used to all the games

the scripts are the c# files which are in unity3d [i forgot to mention that]

i have one



script name = random.cs

public gameobject testy1
 

which is in a c# script and it is not active in any gameobjects.. I have another script which uses the random.cs  script to access the testy1 gameobject.

but i don't seem to have access to it. the second script is active and make a decision as the user chooses but unfortunately i can't do it


 



#4 ByteTroll   Crossbones+   -  Reputation: 1385

Like
0Likes
Like

Posted 05 May 2013 - 07:54 PM

It's been a bit since I have had to use C#, but you should use class/struct accessors.  Here is a code snippet:

 

Say we have a level and a player.  The player class contains a position variable.  Stuff needs to know about the players position, so, you would do something like this:

 

Vector2 position;
public Vector2 Position
 {
     get
     {
         return (position);
     }
     set
     {
         position = value;
     }
  }
 

If you need to get/set the variable from another class, just use the accessor.

 

@EDIT: Cleaned up original post and made reply more clear.


Edited by ByteTroll, 05 May 2013 - 07:56 PM.

▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬
I see the future in 1's and 0's
▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

#5 CJ_COIMBRA   Crossbones+   -  Reputation: 798

Like
0Likes
Like

Posted 06 May 2013 - 04:40 AM

I am not sure if I understand what your are asking precisely, but if you want to carry something from one scene to another in Unity3D, you can use the 

 

DontDestroyOnLoad(this.gameObject)
 

 

 method in the Start() or Awake() of a script that is attached to the gameobject you want to keep or you can save something in the PlayerPrefs and them load it again on the other scene. Does that make sense to you?


Edited by CJ_COIMBRA, 06 May 2013 - 04:41 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS