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 starazure · May 28, 2017 at 02:09 PM · instantiateupdatemouseclick

Update only when mouse clicked on certain objects and wait for next click

Hi,

I want to run update only once each time user clicks on one of the 12 objects (buckets) I have in my scene. I have a script attached to each 12 buckets that passes a count of gems to be added to the buckets. Then I have one script that takes the value passed from one of the 12 scripts (depending on which bucket was clicked) and in the update() of that script and I want to update the gems in each bucket.

The problem I have is the update runs every frame so the gems instantiations go on and on. I know the trick to update only once using a boolean

private bool updated = false; if (!updated) {

The above will not work because it does not wait for mouseclick on object for update.

Here is a part of my code in my script on each object

void OnMouseDown() { > gemCount_Bucket1 +=1;

And in my update script:

     void Update()
     {
             gemCount_Bucket1 = Bucketscript.gemCount_Bucket1;
             gemCount_Bucket2 = Bucketscript.gemCount_Bucket2;
 
             //Trying to do this instantiate update below only once upon mouseclick. Basically recalculate gemcount in each bucket upon mouseclick and update them once each mouseclick. Also, instead of instantiation, is there another way I can use new gemcounts and update these buckets ?


             for (int i = 0; i < gemCount_Bucket1; i++)
             {
                 list.Add(Instantiate(prefab, new Vector3((i + xPos_Bucket1) * 2.0F, -14, 0), Quaternion.identity));
             }
 ........
 
Comment
Add comment · Show 2
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 PizzaPie · May 28, 2017 at 03:18 PM 0
Share

So you want to instantiate a gem onclick on clicked bucket?

avatar image starazure PizzaPie · May 28, 2017 at 03:24 PM 0
Share

I have to load a default of 4 gems per bucket at game startup - I am doing this using update () as well. Then when a user clicks on bucket 2 for example, I need to make its count to zero (remove all gems from it) and update that bucket with 0 gems and add gems to some other buckets. I am able to get the logic of removing gems and adding to other buckets etc right but cannot figure out how to update my game screen using update(). And this logic goes on each time user clicks on a bucket - all its gems gets removed. I want to do this efficiently, only when user clicks a bucket. Right now my instantiate happens in update() every frame... (oh no !!)

0 Replies

· Add your reply
  • Sort: 

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

117 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 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

Stop instantiate in an update void 0 Answers

build a wall with two mouse click ... (IN GAME) 0 Answers

How do I use an event trigger on an instantiated prefab? 1 Answer

Instantiation Breaks Update Function 0 Answers

I want to draw prefab over another cloned prefab 1 Answer


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