Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by games4dayz · Dec 18, 2016 at 07:27 PM · public variable

public variable not showing in inspector

guys im trying to remake a simple flappy bird game i was following a yt video becouz im a beginer at this and when i used this code for obstacles id doesnt work for me or show public variables plz help.

 using UnityEngine;
  using System.Collections;
  
  public class Obstacle_Controller : MonoBehaviour {
      public GameObject obj1;
      public GameObject obj2;
      public GameObject obj3;
      public GameObject obj4;
      public GameObject obj5;
      public GameObject obj6;
      public GameObject obj7;
      public GameObject obj_Position;
      int count=0;
      // Use this for initialization
      void Start () {
      
      }
      
      // Update is called once per frame
      void Update () {
      
      }
      void OnTriggerEnter2D (Collider2D col)
      {
          count = Random.Range (1,4);
          if (col.gameObject.tag == "Obstacles"){
              if (count == 1)
              {
                  Instantiate (obj1, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 2)
              {
                  Instantiate (obj2, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 3)
              {
                  Instantiate (obj3, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 4)
              {
                  Instantiate (obj4, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 5)
              {
                  Instantiate (obj5, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 6)
              {
                  Instantiate (obj6, obj_Position.transform.position, Quaternion.identity);
              }
              else
              if (count == 7)
              {
                  Instantiate (obj7, obj_Position.transform.position, Quaternion.identity);
              }
          }
  }
Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image iwaldrop · Dec 19, 2016 at 09:11 AM 1
Share

Not sure why your public variables aren't visible, but I have a general suggestion regarding your code. You might want to try using an array for your game objects. It's a better way of doing what it looks like you're doing.

 public GameObject[] objects;
 public Transform spawnpoint;
 
 void OnTriggerEnter2D(Collider2D other)
 {
     var index = $$anonymous$$athf.RoundToInt(Random.value * objects.Length);
     var original = objects[index];
     Instantiate(original, spawnpoint.position, spawnpoint.rotation);
 }

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Landern · Dec 19, 2016 at 05:36 PM

Probably because your script would throw exceptions that you haven't taken care of. The first will be that you're missing a ending curly brace to end the OnTriggerEnter2D method. You will also get an error because you're using UnityEngine and System while using the Random.Random static method. Because both namespaces(UnityEngine and System) have that method name you either need to remove one of the unity statements like System in this case, or fully qualify the namespace during the usage.

Below is a fixed version of your script. Also @iwaldrop makes a good point about using an array/List for your array of GameObjects....

 using UnityEngine;
 using System;
 using System.Collections;
 
 public class Test : MonoBehaviour
 {
     public GameObject obj1;
       public GameObject obj2;
       public GameObject obj3;
       public GameObject obj4;
       public GameObject obj5;
       public GameObject obj6;
       public GameObject obj7;
       public GameObject obj_Position;
       int count=0;
       // Use this for initialization
       void Start () {
       
       }
       
       // Update is called once per frame
       void Update () {
       
       }
       void OnTriggerEnter2D (Collider2D col)
       {
           count = UnityEngine.Random.Range (1,4);
           if (col.gameObject.tag == "Obstacles"){
               if (count == 1)
               {
                   Instantiate (obj1, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 2)
               {
                   Instantiate (obj2, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 3)
               {
                   Instantiate (obj3, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 4)
               {
                   Instantiate (obj4, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 5)
               {
                   Instantiate (obj5, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 6)
               {
                   Instantiate (obj6, obj_Position.transform.position, Quaternion.identity);
               }
               else
               if (count == 7)
               {
                   Instantiate (obj7, obj_Position.transform.position, Quaternion.identity);
               }
           }
       }
 }

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

84 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity 4.1.5 is not showing certain public variables in the inspector 1 Answer

Public variables acting like private ones! 0 Answers

How to use a public int in another script? 1 Answer

not a question, just advice on public variables 1 Answer

public int variable not updated in inspector for two scenes in Unity 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges